dbEdit
概要
SQLエディタダイアログを開く
追加の情報
XファンクションはAuto GetNダイアログとして設計されていません。
コマンドラインでの使用法
1. dbEdit execute:=change;
2. dbEdit execute:=load fname:="%Ystars.ods" iw:=[book2]sheet1!;
3. dbEdit sql:="Select Stars.Name, Stars.LightYears From Stars";
Xファンクションの実行オプション
スクリプトからXファンクションにアクセスする場合、追加のオプションスイッチについてのページを参照してください。
変数
表示 名
|
変数 名
|
I/O と データ型
|
デフォルト 値
|
説明
|
コマンドオプション
|
execute
|
入力
int
|
0
|
ワークシートに対して実行するデータベース操作を指定します。
オプションリスト:
- change:クエリの作成/変更
- SQLエディタダイアログを開き、クエリを作成または変更します。
- askrem:確認してクエリを削除
- ユーザに確認してから、ワークシートからクエリを削除します。
- load:クエリファイルを読み込み
- クエリファイル(.ODQ または .ODS)をワークシートに読み込みます。ファイル名はfname変数で指定する必要があります。
- remove:クエリを削除
- ワークシートからクエリを削除します。
- new:新規の接続を作成
- アクティブなワークシートにデータベース接続アイコンを追加し、「データコネクタ」ボタン構成でSQLエディタを開きます。
- wks:コネクタモード
- アクティブなワークシートで既存のデータベースクエリを編集します。SQLエディタには「データコネクタ」ボタン構成があります。
|
入力ODQまたはODSファイルパス
|
fname
|
入力
string
|
""
|
execute変数がLoadの場合、この変数を使用して読み込む .odq または .ods ファイルのパスを指定できます。
|
ワークシート
|
iw
|
入力
Worksheet
|
<active>
|
操作を実行するワークシートを指定します。
|
新しいSQL文字列
|
sql
|
入力
string
|
""
|
ワークシートの現在のクエリに書き込む新しいSQL文字列を指定します。
|
新しい接続文字列
|
connect
|
入力
string
|
""
|
ワークシートの現在のクエリに書き込む新しい接続文字列を指定します。
|
インポートオプション
|
option
|
入力
int
|
0
|
データをインポートする方法を指定します。
オプションリスト:
- ado:ADOオブジェクトを使用したデータのインポート
- データをインポートするのにADOオブジェクトを使用します。
- odbc:ODBCを使用したデータのインポート
- データをインポートするのにODBCを使用します。
|
説明
このツールは、データベースクエリを作成するか、データベースクエリを削除/読み込み/編集するためのSQLエディタダイアログを開きます。
Note: 以下で説明するODSファイルとODQファイルは、メモ帳で表示および編集できるプレーンテキストファイルです。
ODSファイル
データソースファイル。ODSファイルには、Originがデータベースへの接続を開くための接続文字列が含まれています。ファイルには、サーバ名、データベースの場所、サーバへの接続に必要なユーザIDとパスワードなどの情報が含まれています。
SQLエディタのメニューのファイル:接続を新規に保存...で .ODS ファイルを作成できます。下記はSQLサーバデータベースの例です。
[DataSource]
Provider=SQLOLEDB.1;Password=abc123;Persist Security Info=True;User ID=tester;Initial Catalog=Northwind;Data Source=MYSQLSERVER;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=MYSQLSERVER;Use Encryption for Data=False;Tag with column collation when possible=False
ODQファイル
データクエリファイル。.ODQ ファイルには、データベースから情報を取得するために使用される接続文字列とSQLクエリの両方が含まれています。
SQLエディタのメニューのファイル:接続とクエリを新規に保存...で .ODQ ファイルを作成できます。下記はOracleデータベースの例です。
[DataSource]
Provider=OraOLEDB.Oracle.1;Password=tiger;Persist Security Info=True;User ID=scott;Data Source=orcl;Extended Properties=""
[SQL]
Select SCOTT.DEPT.DNAME, SCOTT.DEPT.LOC, SCOTT.EMP.ENAME, SCOTT.EMP.JOB, SCOTT.EMP.SAL
From SCOTT.DEPT Inner Join SCOTT.EMP On SCOTT.DEPT.DEPTNO = SCOTT.EMP.DEPTNO
[UseODBC]
ADO
接続文字列
上の2つの例は、ODSファイルまたはODQファイルのいずれかに[DataSource]セクションに接続文字列が含まれていることを示しています。また、SQLエディタでファイル:接続文字列を表示またはファイル:接続文字列を編集...を選択して、この文字列を見つけることもできます。
スクリプト(またはOrigin C)によるクエリを実行する場合、この接続文字列を使用してデータベース接続を設定し、クエリを送信することが重要です。したがって、データを照会する前に、SQLエディタを使用して手動で作成した接続/クエリから接続文字列を取得し、この文字列をコード内でコピーして使用する必要があります。
サンプル
次のコマンドを実行して、SQLiteデータベースに接続するテーブルをロックし、テーブルを変更するときに他のユーザーが同時に変更できないようにします。
cstring$="Driver={SQLite3 ODBC Driver};Database=%(sqliteFolder$)\struct.sqlite3";
schema1$=data_sessions;
dbEdit connect:="%(cstring$)" iw:=<active>;
dbEdit sql:="BEGIN EXCLUSIVE TRANSACTION;INSERT INTO %(schema1$) (pid, rid, rev, latest, col1, col2)
VALUES ('animals:%(strain$)%(Animal$)','%(rid$)','0','1','%(starttime$)','%(pL$)');COMMIT TRANSACTION;";
dbImport;
関連するXファンクション
dbImport, dbInfo, dbPreview
キーワード:データベース、クエリ
|