JDBC-ODBC Bridge Data にSQL Server のリンクサーバーとして接続

ODBC Driver のSQL Gateway 機能を使ってJDBC-ODBC Bridge data のリンクサーバーをセットアップ。



SQL Server のTDS Remoting 機能を使ってJDBC-ODBC Bridge のリンクサーバーをセットアップできます。 リンクサーバーの利用には、ODBC Driver に同梱されているSQL Gateway を使用します。 SQL Server のインターフェースでJDBC-ODBC Bridgeへの読み書き双方向のアクセスが可能になります。

JDBC-ODBC Bridge リンクサーバー利用シナリオ

  • SQL Server に接続しているアプリケーションでJDBC-ODBC Bridge データを利用したいがデータ接続を増やしたくない
  • JDBC-ODBC Bridge データをSQL Server のデータや他のリンクサーバーのデータをJOIN などして使いたい
  • 利用したいミドルウェア・BI ツールなどにODBC やJDBC の汎用のインターフェースがないが、SQL Server には接続できる

JDBC-ODBC Bridge DSN の設定

ODBC 接続プロパティの指定がまだの場合は、DSN (データソース名)で接続設定を行います。 Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。 ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。 Microsoft ODBC データソースアドミニストレーターを開いて設定を行うことも可能です。 必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。

SQL Gateway でのJDBC-ODBC Bridge ODBC DSN を設定

CData ODBC Drivers にSQL Gateway が内包されています。ここにJDBC-ODBC Bridge ODBC Driver をサービスとして設定します。

  1. 「スタート」画面から「SQL Gateway」を起動します。青い「C」のSQL Gateway ロゴが右下のインジケータに表示されます。 アプリケーションコンソールが開かない場合には、SQL Gateway アイコンを右クリックして、「Open Application」をクリックしてください。
  2. アプリケーションコンソールの「Service」タブを開いて、「Add」をクリックして、新しいODBC データソースを設定します。
  3. JDBC-ODBC Bridge ODBC の設定を行います。
    Service Name]:任意
    リモーティングDB 選択:SQL Server を選択
    Data Source:ドロップダウンでCData JDBC-ODBC Bridge Source Sys を選択
    Port:使用していないポートを選択
  4. 次に「Users」タブ→「Add」からユーザーを登録します。
    ユーザー毎にFull アクセスか、Readonly か、None の権限を選択できます。
    複数のODBC データソースがある場合には、データソース毎に権限の設定が可能です。

    「OK」を押して、ユーザー登録を完了します。 その後「Save Changes」で設定を保存します。
  5. SQL Gateway の「Service」タブで「Start」ボタンを押して、サービスを起動します。サービスの左側の〇が緑色になれば、サービスは起動中です。

SQL Server でJDBC-ODBC Bridge リンクサーバー設定

SQL Gateway 側でサービスの設定が終わったら、SQL Server 側でJDBC-ODBC Bridge サービスをリンクサーバーとして使う設定をしましょう。

  1. SQL Server Management Studio (SSMS) を開きます。
    オブジェクトエクスプローラーの「サーバーオブジェクト」で「リンクサーバー」を右クリックして、「新しいリンクサーバー」をクリックします。
  2. 新しいリンクサーバーの設定画面の「全般」で、以下を入力します。
    サーバー種類: その他データソース
    プロバイダー:SQL Server Native _Client 11.0
    データソース:この例の場合、localhost, 1433 を入力
    カタログ:ODBC DSN 名を入力

  3. また、「セキュリティ」では、「このセキュリティコンテキスト」を選択して、リモートログインにSQL Gateway にユーザー設定したUser 名とPassword を入力します。

これで、リンクサーバーの設定は終わりなので、「OK」を押して設定を保存します。

SSMS でデータを見てみる

SSMS のオブジェクトエクスプローラーのリンクサーバー下に]service] のリンクサーバーが作成され、「テーブル」下にJDBC-ODBC Bridgeのデータがアプリ単位でテーブルが生成されます。
新しいクエリを選択し、JDBC-ODBC Bridge データを取得してみます。

SELECT * from リンクサーバー名.CData JDBC-ODBC Bridge Source Sys(ODBC DSN 名).JDBC-ODBC Bridge.テーブル名

このように、API のリクエストではなく通常のSQL 構文でデータを扱うことが可能になっています

Visual Studio からJDBC-ODBC Bridge リンクサーバーを使う

Visual Studio のサーバーエクスプローラーの「データ接続」を右クリックし、「接続の追加」をクリックして、データソースの選択画面を開きます。 データソースの選択画面でデータソースを「Microsoft SQL Server 」に選択して、「続行」を押します。

「接続の追加」画面で、以下を入力します。
サーバー名:SQL Server のサーバー名
認証:任意の認証方式
データベース名の選択または入力:※master など
※リンクサーバーを直接データベース名として入力することはできないようです。なので上位のデータベース名で設定しておきます。

「テスト接続」をして大丈夫であれば、「OK」を押して設定を完了させます。

「新しいクエリ」で、SQL でSELECT 文を書いてデータを取得してみます。

SELECT * from リンクサーバー名.CData JDBC-ODBC Bridge Source Sys(ODBC DSN 名).JDBC-ODBC Bridge.テーブル名

このように、通常のSQL Server のリンクサーバーと同じようにVisual Studio 内JDBC-ODBC Bridgekintone データを扱うことが可能になります。 他のIDE でもSQL Server にアクセスする方法でJDBC-ODBC Bridge データにSQL でアクセスが可能になります。
複数データソースのJOIN などを行う場合には大変便利です。

 
 
ダウンロード