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