JMPではODBCがサポートされています。Open Database関数を使ってJSLでSQLデータベースへアクセスできます。
dt = Open Database(
"Connect Dialog" | "DSN=...", // データソース
"sqlStatement" | "dataTableName" | "SQLFILE=...", // SQLステートメント
Invisible, //テーブルの読み込み時にそのテーブルを非表示にするオプションのキーワード
"outputTableName" // 新しいテーブルの名前
);
•
|
"Connect Dialog"でSelect Data Sourceウィンドウ(Windows)またはChoose DSNウィンドウ(Macintosh)を表示します。
|
•
|
"DSN="の後にデータソースの名前、および、接続に必要な情報を指定すると、そのデータソースに接続します。Windowsでは、ODBCデータソース アドミニストレーターの[ユーザー DSN]タブまたは[システム DSN]タブの名前列にデータソース名が表示されます。Macintoshでは、ODBC ManagerまたはiODBC Driver ManagerにDSNが表示されます。その他の文字列は、ODBCデータソースによって異なります。
|
"DSN=dBASE Files;DBQ=C:/Program Files/SAS/JMP/14/Samples/Import Data;"
1.
|
実行するSQLステートメント。たとえば次のように、2重引用符で囲んで、SELECTステートメントを指定してください。
|
"SELECT AGE, SEX, WEIGHT FROM BIGCLASS"
2.
|
データテーブルの名前。データテーブル名だけを指定した場合、"SELECT * FROM"というSQLステートメントを実行するのと同じ処理が行われます。たとえば、第2引数を次のように指定すれば、Open Databaseは"SELECT * FROM BIGCLASS"を実行することになります。
|
"BIGCLASS"
3.
|
"SQLFILE="に続いて、実行するSQLステートメントの書かれたテキストファイルへのパス。たとえば次の引数の場合は、ディレクトリC:¥にあるファイル「mySQLFile.txt」を開き、中に書かれたSQLステートメントを実行します。
|
"SQLFILE=C:¥mySQLFile.txt"
オプションの引数Invisibleは、非表示のデータテーブルを作成します。なお、非表示のデータテーブルは、明示的に閉じるまでメモリ内にとどまるため、不要になったものは閉じるよう注意してください。非表示のテーブルを閉じるには、Close(dt)を実行します。ここで、dtは、データテーブル参照の変数です。
オプションの引数outputTableNameは、作成される出力テーブルがあれば、その名前を指定します。Open Databaseが必ずデータテーブルを戻すわけではないことに注意してください。戻り値はヌルになることもあります。データテーブルが戻されるかどうかは、実行されるSQLステートメントの種類によります。たとえば、SELECTステートメントはデータテーブルを戻しますが、DROP TABLEステートメントはデータテーブルを戻しません。
JMPのデータテーブルを、JSLを使ってデータベースに保存するには、データテーブルの参照にSave Database( )メッセージを送ります。
dt << Save Database( "connectInfo", "TableName" );
第1引数は、Open Databaseの場合と同様に機能します。一部のデータベースでは、既存のテーブルに置き換えてテーブルを保存することができないので注意してください。そのような場合にデータベース上のテーブルを置換するには、Open Databaseコマンドで、「DROP TABLE」というSQLステートメントを実行して、そのテーブルをあらかじめ削除してください。
Open Database ( "connectinfo", "DROP TABLE TableName" );
dt = Open Database(
"Connect Dialog",
"SELECT age, sex, weight FROM \!"Bigclass$\!"",
"My Big Class"
);
dt << Save Database( "Connect Dialog", "MY_BIG_CLASS" );
Open Database( "Connect Dialog", "DROP TABLE BIGCLASS.MY_BIG_CLASS" );
メモ: ODBCデータベースからデータを読み込む際、ユーザIDとパスワード情報を含んだテーブル変数が追加される可能性があります。これを防ぐためには、環境設定のpref(ODBC Hide Connection String(1))を設定します。または、[ファイル]メニュー(Windows)または[JMP]メニュー(Macintosh)を選択し、[環境設定]>[テーブル]で[ODBC接続文字列を非表示にする]を選択します。詳細については、『JMPの使用法』の「JMPの環境設定」章を参照してください。