PowerBuilder から JDBC 経由で DB2 のデータ に接続

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
PowerBuilder で DB2 JDBC Driver を使用して DB2 のデータ にアクセスする方法を紹介します。

CData JDBC ドライバー for DB2 は、 PowerBuilder を含む、JDBC をサポートするあらゆるプラットフォームや開発技術から使用できる標準ベースのコントロールです。 この記事では、PowerBuilder で CData JDBC Driver for DB2 を使用する方法について説明します。

ここでは、CData JDBC Driver for DB2 を使用してデータの読み取りと書き込みを実行する基本的な PowerBuilder アプリケーションの作成方法を説明します。

PowerBuilder から DB2 のデータ に接続

以下の手順に従って、Database Painter ツールを使用し、DB2 用の JDBC URL に基づくデータベースプロファイルを作成します。データベースプロファイルを使用して接続プロパティを保存できます。Database Painter では、データをグラフィカルに操作したり、SQL クエリを実行したりできます。

  1. ドライバーの JAR ファイルを PowerBuilder のクラスパスに追加します。CLASSPATH システム環境変数を、インストールディレクトリの lib サブフォルダにあるドライバー JAR へのパスに設定します。

    Note: PowerBuilder Classic を使用している場合は、Tools -> System Options -> Java をクリックしてドライバー JAR へのパスを追加することもできます。

  2. Tools -> Database Painter をクリックします。
  3. JDBC ノードを右クリックし、New Profile をクリックします。
  4. Database Profile Setup ダイアログで、以下の情報を入力します。
    • Profile Name: プロファイルのわかりやすい名前を入力します。
    • Driver Name: ドライバーのクラス名を入力します: cdata.jdbc.db2.DB2Driver
    • URL: JDBC URL を入力します。

      DB2 に接続するには以下のプロパティを設定します。

      • Server: DB2 を実行するサーバー名。
      • Port: DB2 サーバーのポート。
      • Database: DB2 データベース名。

      接続の準備ができたら、認証スキームを選択し、以下で説明するように適切なプロパティを設定します。

      CData 製品 は、DB2 への認証に4つの異なるスキームをサポートします。DB2 ユーザー資格情報(デフォルト)、暗号化されたユーザー資格情報、IBM Identity and Access Management(IAM)認証、および Kerberos です。

      DB2 ユーザー資格情報

      ユーザー資格情報を使用して認証するには、次のプロパティを設定します。
      • AuthSchemeUSRIDPWD
      • User:データベースへのアクセス権を持つユーザーのユーザー名。
      • Password:データベースへのアクセス権を持つユーザーのパスワード。

      暗号化されたユーザー資格情報

      サーバーがセキュア認証に対応しており、暗号化されたユーザー資格情報を使用して認証を行いたい場合は、このプロパティを設定します。
      • AuthSchemeEUSRIDPWD

      IAM、Kerberos で認証したい場合は、ヘルプドキュメントの「はじめに」セクションを参照してください。

      パスワード方式によるSSH 接続

      パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。

      • User: DB2 のユーザ
      • Password: DB2 のパスワード
      • Database: DB2 の接続先データベース
      • Server: DB2 のサーバー
      • Port: DB2 のポート
      • UserSSH: "true"
      • SSHAuthMode: "Password"
      • SSHPort: SSH のポート
      • SSHServer: SSH サーバー
      • SSHUser: SSH ユーザー
      • SSHPassword: SSH パスワード

      接続文字列形式では以下のようになります。

      Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=testUseSSH=true;SSHAuthMode=Password;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;

      公開鍵認証方式方式によるSSH 接続

      公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。

      • User: DB2 のユーザ
      • Password: DB2 のパスワード
      • Database: DB2 の接続先データベース
      • Server: DB2 のサーバー
      • Port: DB2 のポート
      • UserSSH: "true"
      • SSHAuthMode: "Public_Key"
      • SSHClientCertType: キーストアの種類
      • SSHPort: SSH のポート
      • SSHServer: SSH サーバー
      • SSHUser: SSH ユーザー
      • SSHClientCert: 秘密鍵ファイルのパス

      接続文字列形式では以下のようになります。

      Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test;UseSSH=true;SSHAuthMode=Public_Key;SSHClientCertType=PUBLIC_KEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;

      組み込みの接続文字列デザイナー

      JDBC URL の構築には、DB2 JDBC Driver に組み込まれている接続文字列デザイナーが便利です。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。

      java -jar cdata.jdbc.db2.jar
      

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。一般的な JDBC URL は以下のとおりです。

      jdbc:db2:Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test;
  5. テーブルを表示および編集するには、テーブルを右クリックして Edit Data -> Grid をクリックします。

PowerBuilder コントロールで DB2 のデータ を使用

標準の PowerBuilder オブジェクトを使用して JDBC データソースに接続し、クエリを実行できます。以下の例では、DB2 のデータ を DataWindow に取得する方法を示します。以下のコードを open メソッドに追加できます。

SQLCA.DBMS = "JDBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Driver='cdata.jdbc.db2.DB2Driver',URL='jdbc:db2:Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test;";
CONNECT USING SQLCA;
dw_orders.SetTransObject(SQLCA);
dw_orders.Retrieve();

はじめる準備はできましたか?

IBM DB2 Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

IBM DB2 Icon IBM DB2 JDBC Driver お問い合わせ

IBM DB2 連携のパワフルなJava アプリケーションを素早く作成して配布。