PowerBuilder からMongoDB データに連携

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

MongoDB JDBC Driver

MongoDB ドキュメントデータベースを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。



この記事では、MongoDB JDBC ドライバーを使用してPowerBuilder からMongoDB にアクセスする方法を説明します。

CData JDBC Driver for MongoDB は、標準ベースのコントロールであり、PowerBuilder を含むJDBC をサポートするプラットフォームまたは開発テクノロジーから使用できます。 また、PowerBuilder でCData JDBC Driver for MongoDB を使用する方法についても詳しく説明します。

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

PowerBuilder からMongoDB データに接続

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

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

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

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

      MongoDB への接続には、Server、Database、User、Password プロパティを設定します。MongoDB コレクションにテーブルとしてアクセスするには、自動スキーマ検出を使用することができます。もちろんスキーマ定義の.rsd ファイルを編集して自分でスキーマ定義を書くことも可能です。スキーマに縛られないフリーフォーマットクエリを投げることもできます。

      ビルトイン接続文字列デザイナ

      JDBC URL の構成については、MongoDB JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

      java -jar cdata.jdbc.mongodb.jar

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

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

MongoDB をPowerBuilder Controls と共に使用する

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

SQLCA.DBMS = "JDBC" SQLCA.AutoCommit = False SQLCA.DBParm = "Driver='cdata.jdbc.mongodb.MongoDBDriver',URL='jdbc:mongodb:Server=MyServer;Port=27017;Database=test;User=test;Password=Password;"; CONNECT USING SQLCA; dw_restaurants.SetTransObject(SQLCA); dw_restaurants.Retrieve();