JSL を使用したデータベース接続の作成 (および閉じる)データベース接続を作成し、スクリプトが完了したら接続を閉じようとしています。「New SQL Query()」関数の「Connection()」コマンドから接続文字列をコピーし、「Create Database Connection()」関数に貼り付けました。しかし、スクリプトを実行すると、dbc1 の定義に関連するログに「[Microsoft][ODBC Driver Manager] データ ソース名が見つからず、デフォルトのドライバーが指定されていません」というエラーが表示されます。
以下は、実行しようとしている JSL スクリプトと、問題なく実行される古いメソッドです。
ノート:
- クエリ内の CustomSQL は別の場所で定義されており、この例を短くするために示されていません。
- 私はこの投稿に示されている解決策に従おうとしていました: https://community.jmp.com/t5/Discussions/How-to-Disconnect-from-a-database-via-script/mp/597749#M80126
- 更新: JMP 16.1 を実行していると、上記のエラーが発生します。これを JMP 17.0 で実行すると、問題なく動作します。
names default to here(1);
// trying to create the db connection and then insert into the Query
dbc1 = Create database Connection("ODBC:DSN=SQLplus 64-bit ODBC Connection;");
New SQL Query(
Connection( dbc1 ),
CustomSQL( combined )
) << Run Foreground();
// vs. my typical method
New SQL Query(
Connection( "ODBC:DSN=SQLplus 64-bit ODBC Connection;" ),
CustomSQL( combined )
) << Run Foreground();
データアクセスウィンドウズRe: JSL を使用したデータベース接続の作成 (および閉じる)ありがとうございました@dahlia_watkins
Re: JSL を使用したデータベース接続の作成 (および閉じる)JMP サポートが問題を発見しました。クエリ ビルダーの New SQL Query() スクリプトから接続文字列をコピーしました。Create Database connection() 関数では、DSN 定義の「ODBC:」部分は許可されません。したがって、JSL スクリプトは次のようにする必要があります。
names default to here(1);
// trying to create the db connection and then insert into the Query
dbc1 = Create database Connection("DSN=SQLplus 64-bit ODBC Connection;");
New SQL Query(
Connection( dbc1 ),
CustomSQL( combined )
) << Run Foreground();