各製品の資料を入手。
詳細はこちら →DB2 のデータをA5:SQL Mk-2 でCRUD クエリする方法
ODBC Driver を使ってAPI コーディングなしでDB2 のデータを自在にCRUD。
最終更新日:2023-09-01
この記事で実現できるDB2 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している兵藤です。
SQL 開発ツールといえば「A5:SQL Mk-2」が有名です。Windows ODBC に強い!というイメージです。多くのエンジニアやIT 担当者に利用されています。 本記事では、DB2 のデータをCData ODBC ドライバを使って、A5:SQL MK-2 からクエリする方法を説明します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持った製品です。
- DB2 をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレデータソースに対応
- A5:SQL Mk-2 をはじめとする多様なデータツール、帳票・BI アプリにDB2 のデータを連携
- ノーコードでの手軽な接続設定
- 標準SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてDB2 の接続を設定、2.A5:SQL Mk-2 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとDB2 への接続設定
まずは、本記事右側のサイドバーからDB2 ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。または、Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定できます。
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;

A5:SQL Mk-2 からのDB2 ODBC データソースのクエリ利用方法
ODBC DSN の利用方法
「データベース」→「データベースの追加と削除」を開きます。

「64bit ODBCシステムデータソースを列挙する」にチェックを入れます。システムデータソースを利用するか、ユーザーデータソースを利用するかはどちらでもかまいません。

データベースとして、設定しているODBC DSN がツリービューで表示されます。CData ODBC ドライバで設定されたDSN もここに表示されます。

「CData DB2 Sys」をダブルクリップします。データベースログイン画面が開くので、ODBC DSN 設定時に使ったDB2 のユーザーとパスワードでログインします。

DB2 のオブジェクトがテーブル・ビュー・ストアドプロシージャにモデル化されて表示されます。

テーブルを開いてみます。オブジェクトで利用できるデータがカラムとしてモデル化されています。それぞれのカラムにはデータ型の情報も付いています。

これでA5:SQL Mk2 でDB2 のデータがクエリできます。
DB2 のデータをSELECT する
対象のテーブル・ビューを右クリックして「SQL の作成」をクリックしてクエリ作成画面を開きます。
SELECT にチェックを入れます。とりあえず全カラムを指定して条件なしでクエリしてみます。

SQL クエリがA5M2 から生成されます。実行ボタンで実行するとDB2 の選択したオブジェクトがクエリされ、データがテーブルとして返されます。

次にフィルタリング条件を付けてみます。SQL の作成画面で「絞り込み条件に利用するカラム」をドロップダウンから選択します。以下の絞り込み条件付きのSQL 文がA5M2から生成されるので、WHERE 句に条件を書いて実行します。

--*DataTitle "DB2"."(テーブル名)"
--*CaptionFromComment
SELECT
"Id" -- Id
, "LastName" -- LastName
, "FirstName" -- FirstName
, "Name" -- Name
, "Title" -- Title
, "Company" -- Company
, "Status" -- Status
, "Industry" -- Industry
FROM
"DB2"."Lead"
WHERE
"Company" = '(フィルタリング条件を入力)'
同じ要領でSQL 作成UI から、SELECT だけでなく、INSERT、UPDATE、DELETE のクエリが作成できます。JOIN や集計クエリもANSI-92 のSQL で作れます。
おわりに
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをA5:SQL Mk-2 からコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
日本のユーザー向けにCData ODBC ドライバは、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。