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


キーワード:データベース、クエリ