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

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

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

最終更新日:2023-09-14

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

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

クエリの実行

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

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

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

    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 テーブルにアクセスする場合に必要です。

    $constr = "InventoryUserId=Inventory UserId;InventoryPassword=Invetory Password;" $conn= New-Object System.Data.CData.Ponparemall.PonparemallConnection($constr) $conn.Open()
  3. PonparemallDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:

    $sql="SELECT OrderNumber, OrderStatus from Orders" $da= New-Object System.Data.CData.Ponparemall.PonparemallDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.ordernumber $_.orderstatus }

Ponparemall データの更新

$cmd = New-Object System.Data.CData.PonparemallCommand("UPDATE Orders SET DateRangeSearchColumn='2' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.PonparemallParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

Ponparemall へのデータの挿入

$cmd = New-Object System.Data.CData.PonparemallCommand("UPDATE Orders SET DateRangeSearchColumn='2' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.PonparemallParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

Ponparemall データの削除

$cmd = New-Object System.Data.CData.PonparemallCommand("UPDATE Orders SET DateRangeSearchColumn='2' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.PonparemallParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

関連コンテンツ

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

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