各製品の資料を入手。
詳細はこちら →Servoy でDB2 に接続されたWeb アプリを構築
Servoy Developer を使用して手軽にDB2 のデータに接続し、リアルタイムDB2 のデータに接続できるWeb アプリケーションを構築。
最終更新日:2023-02-26
この記事で実現できるDB2 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
Servoy は、迅速なアプリケーション開発とデプロイのためのプラットフォームです。CData JDBC Driver for DB2 と組み合わせることで、ユーザーはDB2 に接続してリアルタイムDB2 のデータを使用できるアプリケーションを構築できます。この記事では、Servoy からDB2 に接続し、DB2 のデータを表示、検索するための簡単なWeb アプリケーションを構築する方法を説明します。
ビルトインの最適化されたデータ処理により、CData JDBC Driver は、リアルタイムDB2 のデータとやり取りする際に圧倒的なパフォーマンスを提供します。DB2 に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をDB2 に直接プッシュし、サポートされていない操作(主にSQL 関数とJOIN 操作)は組み込みのSQL エンジンを利用してクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブデータソース型を使用してDB2 のデータを操作できます。
Servoy Developer からDB2 に接続する
DB2 に接続するアプリケーションを構築するには、まず、Servoy Developer からCData JDBC Driver for DB2 を使用してデータプロバイダを作成する必要があります。
- JDBC Driver をインストールします。
- JDBC Driver JAR ファイル(cdata.jdbc.db2.jar)を、Servoy のインストールディレクトリの/application_server/drivers/ ディレクトリにコピーします。
- Servoy Developer を開きます。
- Solution Explorer で「Resources」の下の「Database Server」を右クリックし、「Connect to existing database」->「empty」を選択します。
- サーバーに名前を付けます。
- クリックすると、サーバーの詳細設定が表示されます。
次のようにURL を設定します。例:jdbc:db2:Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test;
組み込みの接続文字列デザイナー
JDBC URL の構築については、DB2 JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。
java -jar cdata.jdbc.db2.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
DB2 に接続するには以下のプロパティを設定します。
- Server: DB2 を実行するサーバー名。
- Port: DB2 サーバーのポート。
- Database: DB2 データベース名。
接続の準備ができたら、認証スキームを選択し、以下で説明するように適切なプロパティを設定します。
本製品 は、DB2 への認証に4つの異なるスキームをサポートします。DB2 ユーザー資格情報(デフォルト)、暗号化されたユーザー資格情報、IBM Identity and Access Management(IAM)認証、および Kerberos です。
DB2 ユーザー資格情報
ユーザー資格情報を使用して認証するには、次のプロパティを設定します。- AuthScheme:USRIDPWD。
- User:データベースへのアクセス権を持つユーザーのユーザー名。
- Password:データベースへのアクセス権を持つユーザーのパスワード。
暗号化されたユーザー資格情報
サーバーがセキュア認証に対応しており、暗号化されたユーザー資格情報を使用して認証を行いたい場合は、このプロパティを設定します。- AuthScheme:EUSRIDPWD
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;
- コピーしたDriver クラスを選択します。例:cdata.jdbc.db2.DB2Driver
DB2に接続するWeb アプリを構築する
Servoy Developer リソースでDB2 への接続を設定すると、リアルタイムDB2 へのアクセス権を持つアプリケーションを構築することができます。
新しいソリューションを作成する
- Server Explorer で、「All solutions」を右クリックし、「Create new solution」を選択します。
- ソリューションに名前を付けます。
- 「search」モジュールを含むチェックボックスを選択します。
- 「Finish」をクリックします。
新しいフォームを作成する
「Forms」を右クリックし、「Create new form」を選択します。
- フォームに名前を付けます。
- データソースを選択します。
- タイプ(Simple など)を設定し、「Finish」をクリックします。

フォームにData Grid を追加する
- Servoy NG-Grids からData Grid コンポーネントをフォームにドラッグします。
カラムコンポーネントをData Grid にドラッグし、各カラムコンポーネントの「dataprovider」プロパティをDB2 「table」のカラム(例:Orders テーブルのOrderName)に設定します。
必要に応じてカラムを追加します。
アプリケーションに検索を追加する
検索機能を追加するには、「svySearch」拡張機能が必要です。(新しいソリューションを作成する際にデフォルトで含まれます。)ソリューションの作成時に拡張機能を追加しなかった場合、または、既存のソリューションを変更する場合は、ソリューション内のModules を右クリックして「Add Module」を選択することで検索モジュールを追加できます。「svySearch」を選択し、「OK」をクリックします。
- Text Field コンポーネントをForm にドラッグします。
- Form を右クリックし、「Open in Script Editor」を選択します。
- 検索値を保持する新しい変数(JavaScript)を作成します。
var searchText = '';
- Text Field プロパティでForm に戻ります。
- 「dataprovider」プロパティを作成したForm 変数に設定します。
- ダブルクリックしてonAction イベントのメソッドを追加します。
- クリックして「Form」でメソッドを作成し、名前を付けて(例:onEnter)、「Create private」をクリックします。
- 「OK & Show」をクリックします。
- 以下のJavaScript をJavaScript ファイルに追加することで、Servoy フレームワークを使用してText Field のテキストを使ったバインドデータの検索を実装します。
var search = scopes.svySearch.createSimpleSearch(foundset).setSearchText(searchText); search.setSearchAllColumns(); search.loadRecords(foundset);

アプリを保存して起動する
フォームとJavaScript ファイルを保存し、「Run」->「Launch NGClient」とクリックしてWeb アプリケーションを起動します。

CData JDBC Driver for DB2 の30日の無償評価版をダウンロードし、Servoy でDB2 に接続されたアプリケーションの構築を開始します。ご不明な点があれば、サポートチームにお問い合わせください。