こんにちは!ドライバー周りのヘルプドキュメントを担当している兵藤です。
本記事では、SQL Server のTDS Remoting 機能を使ってPonparemall のリンクサーバーをセットアップする方法をご紹介します。リンクサーバーの利用には、CData ODBC ドライバに同梱されているSQL Gateway を使用します。
SQL Server のインターフェースでPonparemall への読み書き双方向のアクセスが可能になります。
Ponparemall リンクサーバー利用シナリオ
- SQL Server に接続しているアプリケーションでPonparemall データを利用したいがデータ接続を増やしたくない
- Ponparemall データをSQL Server のデータや他のリンクサーバーのデータをJOIN などして使いたい
- 利用したいミドルウェア・BI ツールなどにODBC やJDBC の汎用のインターフェースがないが、SQL Server には接続できる
Ponparemall DSN の設定
まずは、本記事右側のサイドバーからPonparemall ODBC Driver の無償トライアルをダウンロード・インストールしてください。ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。または、Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定できます。
Ponparemall
に接続するには、ShopUrl、InventoryUserId、InventoryPassword、OrderUserId、OrderPassword、PaymentUserId、およびPaymentPassword
が必要です。
Ponparemall へのアクセスの設定
Ponparemall には各API のId とPassword が必要です。取得するには、以下の手順に従ってください。
- Ponparemall Manager にログインし、メニューの「各種申請」の「WebAPI利用申請」をクリックします。
- Web API メニューの「WebAPIサービス利用申請」をクリックし、利用申請を行います。
- 後日、Ponparemall から必要なId とPassword が送られてきます。
Ponparemall アカウントの認証
次の接続プロパティを設定して接続します。
- ShopUrl:接続先のPonparemall Shop URL
を設定。「http://storetst4.ponparemall.com/sample/」に含まれる「sample」の部分を入力します。
- InventoryUserId:「在庫API」のユーザID を設定。このプロパティは、Inventory テーブルにアクセスする場合に必要です。
- InventoryPassword:「在庫API」のパスワードを設定。このプロパティは、Inventory テーブルにアクセスする場合に必要です。
- OrderUserId:「受注API」のユーザID を設定。このプロパティは、Orders テーブルにアクセスする場合に必要です。
- OrderPassword:「受注API」のパスワードを設定。このプロパティは、Orders テーブルにアクセスする場合に必要です。
- PaymentUserId:「決済API」のユーザID を設定。このプロパティは、Payments テーブルにアクセスする場合に必要です。
- PaymentPassword:「決済API」のパスワードを設定。このプロパティは、Payments テーブルにアクセスする場合に必要です。
SQL Gateway でのPonparemall ODBC DSN を設定
CData ODBC ドライバにはSQL Gateway が同梱されています。このSQL Gateway に、Ponparemall ODBC Driver をサービスとして設定します。
-
「スタート」画面から「SQL Gateway」を起動します。青い「C」のSQL Gateway ロゴが右下のインジケータに表示されます。
アプリケーションコンソールが開かない場合には、SQL Gateway アイコンを右クリックして、「Open Application」をクリックしてください。
-
アプリケーションコンソールの「Service」タブを開いて、「Add」をクリックして、新しいODBC データソースを設定します。
-
Ponparemall ODBC の設定を行います。
Service Name]:任意
リモーティングDB 選択:SQL Server を選択
Data Source:ドロップダウンでCData Ponparemall Source Sys を選択
Port:使用していないポートを選択
-
次に「Users」タブ→「Add」からユーザーを登録します。
ユーザー毎にFull アクセスか、Readonly か、None の権限を選択できます。
複数のODBC データソースがある場合には、データソース毎に権限の設定が可能です。
「OK」を押して、ユーザー登録を完了します。
その後「Save Changes」で設定を保存します。
-
SQL Gateway の「Service」タブで「Start」ボタンを押して、サービスを起動します。サービスの左側の〇が緑色になれば、サービスは起動中です。
SQL Server でPonparemall リンクサーバーを設定
SQL Gateway 側でサービスの設定が終わったら、SQL Server 側でPonparemall サービスをリンクサーバーとして使う設定をしましょう。
-
SQL Server Management Studio (SSMS) を開きます。
オブジェクトエクスプローラーの「サーバーオブジェクト」で「リンクサーバー」を右クリックして、「新しいリンクサーバー」をクリックします。
-
新しいリンクサーバーの設定画面の「全般」で、以下を入力します。
サーバー種類:その他データソース
プロバイダー:SQL Server Native _Client 11.0
データソース:この例の場合、localhost, 1433 を入力
カタログ:ODBC DSN 名を入力
-
また、「セキュリティ」では、「このセキュリティコンテキスト」を選択して、リモートログインにSQL Gateway にユーザー設定したUser 名とPassword を入力します。
これで、リンクサーバーの設定は終わりなので、「OK」を押して設定を保存します。
SSMS でデータを見てみる
SSMS のオブジェクトエクスプローラーのリンクサーバー下にPonparemall のリンクサーバーが作成され、「テーブル」下にPonparemall のデータがアプリ単位でテーブルが生成されます。
新しいクエリを選択し、Ponparemall データを取得してみます。
SELECT * from リンクサーバー名.CData Ponparemall Source Sys(ODBC DSN 名).Ponparemall.テーブル名
このように、API のリクエストではなく通常のSQL 構文でデータを扱うことが可能になっています
Visual Studio からPonparemall リンクサーバーを使う
Visual Studio のサーバーエクスプローラーの「データ接続」を右クリックし、「接続の追加」をクリックして、データソースの選択画面を開きます。
データソースの選択画面でデータソースを「Microsoft SQL Server 」に選択して、「続行」を押します。
「接続の追加」画面で、以下を入力します。
サーバー名:SQL Server のサーバー名
認証:任意の認証方式
データベース名の選択または入力:※master など
※リンクサーバーを直接データベース名として入力することはできないようです。なので上位のデータベース名で設定しておきます。
「テスト接続」をして大丈夫であれば、「OK」を押して設定を完了させます。
「新しいクエリ」で、SQL でSELECT 文を書いてデータを取得してみます。
SELECT * from リンクサーバー名.CData Ponparemall Source Sys(ODBC DSN 名).Ponparemall.テーブル名
このように、通常のSQL Server のリンクサーバーと同じようにVisual Studio 内Ponparemall データを扱うことが可能になります。
他のIDE でもSQL Server にアクセスする方法でPonparemall データにSQL でアクセスが可能になります。
複数データソースのJOIN などを行う場合には大変便利です。
おわりに
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをSQL Server に連携できます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。