ODBC を使用せずに IBM DB2 データベースに接続することは可能ですか?こんにちは、
当社では、SSL 接続を介して IBM DB2 データベースを使用しています。DB への OCBC 接続は問題なく機能しますが、ほとんどのユーザーにとって設定が非常に複雑です。ソフトウェアが「タイプ 4 db2 接続」を使用できる場合、odbc は必要ありません。「接続文字列」のみがリモート サーバーに直接送信されます。この文字列のパラメータは通常、ソフトウェア内で直接構成されます。接続構成は適切なパラメータを使用してソフトウェア内で作成されます。これは IT 部門による文書化とユーザーによる実行が非常に簡単です。
JMP は「タイプ 4 接続」を直接サポートしていないようですが、R と Python はサポートしています。また、以下の例のように、JSL スクリプトでデータを抽出することもできます。データベース接続を作成し、JSL またはクエリ ビルダーで使用できる小さな Python スクリプトを作成することはできますか?
// JSL Script to extract some IBM DB2 data
New SQL Query(
Connection(
"ODBC:DSN=DBPROD1;MODE=SHARE;PWD=%_PWD_%;SECURITY=SSL;SSLCLIENTKEYSTASH=C:\BRMDB2\ssl\truststore.sth;SSLCLIENTKEYSTOREDB=C:\BRMDB2\ssl\truststore.kdb;SSLSERVERCERTIFICATE=C:\BRMDB2\ssl\carootcert.der;UID=%_UID_%;"
),
QueryName( "Extract exemple" ),
CustomSQL(
"SELECT NAME
,EMPLOYEE_NB
,DEPARTMENT
,SALARY
FROM
EMPLOYEE_TABLE
WHERE
DEPARTMENT = 'MFG02'"
)
) << Runご協力いただきありがとうございます!
データアクセスRe: ODBC を使用せずに IBM DB2 データベースに接続することは可能ですか?このデータ コネクタに基づいて、ODBC を使用する必要があります。他のオプションとしては、Python 統合を使用してクエリを作成する方法があります。たとえば、クエリを受け取り、その中で Python スクリプトを実行してクエリを実行し、結果をデータ テーブルとして返す関数を作成します。
Re: ODBC を使用せずに IBM DB2 データベースに接続することは可能ですか?こんにちは、
これは私が考えていたことと多少似ていますが、接続が独立して作成され、SQL クエリで使用できるオブジェクトになることを期待していました。提案をテストし、ここでフィードバックを提供します。同僚が必要に応じて SQL コードを追加して、JMP に貼り付けることができる Python スクリプトの「テンプレート」を作成できると思います。うまくいくと確信しています。ただし、このソリューションが機能し、同僚が使用できるかどうかを確認します。そうであれば、ここでフィードバックを提供し、応答を許容可能なソリューションとして受け入れます。SQL のスキルとテーブルのサイズによって異なります。
ご返信ありがとうございます。
Re: ODBC を使用せずに IBM DB2 データベースに接続することは可能ですか?このアドインには JMP19 EA 3、 S3 データ コネクタ (JMP Marketplace)の最小バージョンがあるため、このタイプのコネクタが JMP18 で実行できるかどうかはわかりませんが、AWS S3 のコネクタとして Python を使用しているようです。JMP18 で使用できる場合は、実行できる内容についてのアイデアが得られる可能性があります。アドインをダウンロードし、たとえば 7zip を使用して解凍できるはずです。
Re: ODBC を使用せずに IBM DB2 データベースに接続することは可能ですか?こんにちは、
Oracle および Postgre データベースの場合、接続文字列のみを送信できます。
この方法は、各コンピューターに名前を付けて odbc を設定しなくても、db2 でも可能であると思います。
今月か来月試してみる計画を立てることもできます。
よろしくお願いいたします。
ギヨーム
Re: ODBC を使用せずに IBM DB2 データベースに接続することは可能ですか?こんにちは、
返事が遅くなって申し訳ありません。
次のようにすることができます (私の側でテスト済み)。
db2_connect =
"DRIVER={IBM DB2 ODBC DRIVER};
DATABASE= strDatabase;
HOSTNAME= strHostname;
PORT= strPort;
PROTOCOL=TCPIP;
UID= strUser;
PWD= strPassword;";
OpenDatabase(db2_connect, "SELECT * FROM SYSIBM.SYSDUMMY1;", "sysdummy1");You have to define the DRIVER and all other varaibles strDatabase, strHostname, strPort, strUser, strPassword
SSL を使用すると、これを試すことができます (テストされていません)。
"DRIVER={IBM DB2 ODBC DRIVER};
DATABASE=strDatabase;
HOSTNAME=strHostname;
PORT=strPort;
PROTOCOL=TCPIP;
SECURITY=SSL;
UID=strUser;
PWD=strPassword;
SSLCLIENTKEYSTOREDB=/path/to/client/keystore.kdb;
SSLCLIENTKEYSTASH=/path/to/client/keystore.sth;
SSLCLIENTKEYPASSWORD=keystore_password;"
よろしくお願いいたします。
ギヨーム
Re: ODBC を使用せずに IBM DB2 データベースに接続することは可能ですか?SSL 接続には、さらに多くの接続パラメータを使用する必要があるかもしれません。