PowerShell からGMO MakeShop データをレプリケーション

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

GMO MakeShop ODBC Driver

GMO MakeShop ODBC ドライバーは、ODBC 接続をサポートする任意のアプリケーションからライブなGMO MakeShop データに直接接続できる強力なツールです。標準のODBC ドライバーインタフェースを使用して、データベースのようにGMO MakeShop にアクセスし、在庫、商品、受注などの読み出し、書き込み、および更新を実行できます。



GMO MakeShop をクエリするための簡単なPowerShell スクリプトを記述します。ライブデータへの接続を使用してGMO MakeShop データをSQL Server にレプリケーション(複製)。



CData ODBC Driver for GMO MakeShop は、Microsoft のビルトインODBC サポートを使用して、追加設定なしで連携を可能にします。ODBC ドライバーは、PowerShell から実際のGMO MakeShop データへの連携を即座に実現します。

PowerShell に組み込まれている.NET Framework Provider for ODBC を使用して、GMO MakeShop を他のデータベースに複製するなどの統合タスクを素早く自動化できます。この記事では、GMO MakeShop をSQL Server に5 行のコードで複製する方法を説明します。

PowerShell コードを記述し、create、read、update、delete (CRUD) 操作を実行することも可能です。以下の例を参照してください。

ODBC Data Source for GMO MakeShop の作成

未指定の場合は、初めにODBC DSN(data source name)で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、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 を実行する場合に必要です。

GMO MakeShop への接続

以下のコードは、DSN を使用してPowerShell でデータソースへの接続を初期化する方法を説明します。

$conn = New-Object System.Data.Odbc.OdbcConnection $conn.ConnectionString = "DSN=CData GMOMakeShop Source x64"

GMO MakeShop データをSQL Serverにバックアップ

キャッシュを有効にした後、以下のコードを使用して、データをSQL Server に複製できます。

次の接続プロパティを設定し、キャッシュデータベースを構成します。

  • CacheProvider:ADO.NET プロバイダの名前です。これは、ご使用のバージョンの.NET のMachine.config にあります。例として、SQL Server を構成するにはSystem.Data.SqlClient と入力します。

  • CacheConnection:データベースの接続に必要なプロパティの接続文字列です。以下はSQL Server の一例です。

    Server=localhost;Database=RSB;User Id=sqltest;Password=sqltest;

この例のSQL クエリを使用して、スキーマを含むキャッシュされたテーブル全体を更新できます。既存のキャッシュはすべて削除されます。

$conn.Open() # Create and execute the SQL Query $SQL = "CACHE DROP EXISTING SELECT * FROM " + $Products $cmd = New-Object System.Data.Odbc.OdbcCommand($sql,$conn) $count = $cmd.ExecuteNonQuery() $conn.Close()

ドライバーを使用すると、キャッシュ機能を完全に制御できます。その他のキャッシュコマンドと使用例については、ヘルプドキュメントを参照してください。他のデータベースに複製する手順についても、ヘルプドキュメントを参照してください。

その他の操作

PowerShell でGMO MakeShop を取得するには、OdbcDataAdapter メソッドのFill メソッドを呼び出します。データ操作コマンドを実行するには、OdbcCommand オブジェクトを初期化してからExecuteNonQuery を呼び出します。以下は、.NET Framework Provider for ODBC を介した、GMO MakeShop へのCRUD コマンドの例です。

GMO MakeShop データの取得

$sql="SELECT BrandCode, Price from Products" $da= New-Object System.Data.Odbc.OdbcDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { $dt.Columns | foreach ($col in dt{ Write-Host $1[$_] } }

GMO MakeShop データの更新

$cmd = New-Object System.Data.Odbc.OdbcCommand("UPDATE Products SET BrandCode='99a87c0x3' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.Odbc.OdbcParameter("myId","001d000000YBRseAAH") $cmd.ExecuteNonQuery()

GMO MakeShop データの挿入

$cmd = New-Object System.Data.Odbc.OdbcCommand("INSERT INTO Products SET BrandCode='99a87c0x3' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.Odbc.OdbcParameter("myId","001d000000YBRseAAH") $cmd.ExecuteNonQuery()

GMO MakeShop データの削除

$cmd = New-Object System.Data.Odbc.OdbcCommand("DELETE FROM Products WHERE Id = @myid", $conn) $cmd.Parameters.Add(new System.Data.Odbc.OdbcParameter("myId","001d000000YBRseAAH") $cmd.ExecuteNonQuery()