Powershell からの USPS データ連携タスクを自動化

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

製品の詳細情報:

USPS 連携ソリューション


PowerShell から USPS に簡単に接続する方法をお探しですか? CData ADO.NET Provider for USPS は、PowerShell スクリプトの優位性を使い、シンプルで簡単に使えるADO.NET インターフェース を提供します。PowerShell スクリプトで、ADO.NET オブジェクトを使って簡単にUSPS に接続して、同期、自動化、ダウンロードなどが可能!



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

クエリの実行

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

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

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

    USPS に認証するには、次の接続プロパティを設定してください。

    • PostageProvider:リクエストの処理に使用するポステージプロバイダです。利用可能なオプションはENDICIA とSTAMPS です。指定されていない場合、 デフォルトはENDICIA です。
    • UseSandbox:ライブまたはテストリクエストを、運用サーバーに送るかサンドボックスサーバーに送るかを制御します。 true に設定した場合、Password、AccountNumber、StampsUserId プロパティは無視されます。
    • StampsUserId:この値はStamps サーバーに認証してログインするために使用されます。この値は Endicia には使用されず、UseSandbox がtrue の場合はオプションです。
    • Password:この値はEndicia とStamps サーバーへのログインに使用されます。ポステージプロバイダがEndicia の場合、この値はポステージアカウントに紐づけられたパスフレーズになります。 UseSandbox がtrue の場合にはオプションです。
    • AccountNumber:郵送者のアカウント番号です。UseSandbox がtrue の場合にはオプションです。
    • PrintLabelLocation:このプロパティは、GenerateLabels またはGenerateReturnLabels ストアドプロシージャを使用する場合には必須です。 生成されたラベルが格納されているフォルダの場所を指定してください。

    キャッシュデータベース

    USPS から利用可能な有用なタスクには多くのデータを要求します。データの入力を簡単にして後日思い出せるようにするには、 キャッシュデータベースを使用してリクエストを行ってください。キャッシュの使用にはキャッシュ用の接続プロパティを設定してください。

    • CacheLocation:デフォルトのキャッシュプロバイダーで接続が設定される、キャッシュの場所へのパスです。例えば、C:/users/username/documents/uspscache

    CacheLocation の代わりに、CacheConnectionCacheProvider を設定して デフォルト以外のプロバイダーを使用してキャッシュ接続を設定することもできます。

    $constr = "PostageProvider=ENDICIA; RequestId=12345; Password='abcdefghijklmnopqr'; AccountNumber='12A3B4C'" $conn= New-Object System.Data.CData.USPS.USPSConnection($constr) $conn.Open()
  3. USPSDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:

    $sql="SELECT FirstName, Phone from Senders" $da= New-Object System.Data.CData.USPS.USPSDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.firstname $_.phone }

USPS データの更新

$cmd = New-Object System.Data.CData.USPSCommand("UPDATE Senders SET SenderID='25' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.USPSParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

USPS へのデータの挿入

$cmd = New-Object System.Data.CData.USPSCommand("UPDATE Senders SET SenderID='25' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.USPSParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

USPS データの削除

$cmd = New-Object System.Data.CData.USPSCommand("UPDATE Senders SET SenderID='25' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.USPSParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()