PowerShell からGMO MakeShop データに接続してデータの更新・挿入・削除を実行する方法

CData ADO.NET Provider for GMO MakeShop を使って、PowerShell からGMO MakeShop のデータに接続して、SQL クエリでSlack のデータを操作する方法を解説します。

加藤龍彦
ウェブデベロッパー

最終更新日:2023-09-14

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData ADO.NET Provider for GMOMakeShop は、ADO.NET 標準インターフェースへ統合し、PowerShell のような. NET アプリケーションからGMO MakeShop API へのデータ連携を可能にします。このプロバイダーは、GMO MakeShop の認証および相互作用を簡単にします。このチュートリアルでは、PowerShell から直接SQL クエリを実行するための、いくつかの一般的なADO.NET オブジェクトの使い方を説明します。

クエリの実行

次の3つのステップに従って create、read、update、およびdelete (CRUD) のデータ連携コマンドを PowerShell からリアルタイムGMO MakeShop に実行:

  1. プロバイダーのアセンブリをロード:

    [Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for GMOMakeShop\lib\System.Data.CData.GMOMakeShop.dll")
  2. GMO MakeShop に接続:

    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 を実行する場合に必要です。

    $constr = "ShopId=MyShopId;ProductsAccessCode=MyProductsAccessCode;MembersAccessCode=MyMembersAccessCode;OrdersAccessCode=MyOrdersAccessCode;" $conn= New-Object System.Data.CData.GMOMakeShop.GMOMakeShopConnection($constr) $conn.Open()
  3. GMOMakeShopDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:

    $sql="SELECT BrandCode, Price from Products" $da= New-Object System.Data.CData.GMOMakeShop.GMOMakeShopDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.brandcode $_.price }

GMO MakeShop データの更新

$cmd = New-Object System.Data.CData.GMOMakeShopCommand("UPDATE Products SET BrandCode='99a87c0x3' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.GMOMakeShopParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

GMO MakeShop へのデータの挿入

$cmd = New-Object System.Data.CData.GMOMakeShopCommand("UPDATE Products SET BrandCode='99a87c0x3' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.GMOMakeShopParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

GMO MakeShop データの削除

$cmd = New-Object System.Data.CData.GMOMakeShopCommand("UPDATE Products SET BrandCode='99a87c0x3' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.GMOMakeShopParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。