Powershell からの Reckon Accounts Hosted データ連携タスクを自動化

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


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



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

クエリの実行

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

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

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

    本製品 はOAuth 経由でReckon Accounts Hosted にリクエストを作成します。次の接続プロパティを指定します。

    • User必須。企業ファイルのユーザー名。
    • Password必須。企業ファイルのパスワード。
    • CompanyFile: 必須。企業ファイルへのパス。
    • InitiateOAuth:アクセストークンの処理をドライバーに任せる場合はGETANDREFRESH に設定。
    • CountryVersion:デフォルトは、2021.R2.AU です。

    カスタムOAuth アプリケーションを作成し、以下の追加の接続プロパティを指定することもできます。

    • SubscriptionKey:Azure Platform 上のReckon Portal から取得したAPI キー。
    • OAuthClientId:アプリケーション設定のクライアントID に設定。
    • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
    • CallbackURL:カスタムOAuth アプリのリダイレクトURI。

    CData は、OAuth デスクトップ認証を簡略化する埋め込みOAuth アプリケーションを提供します。ほかのOAuth 認証方法(Web、ヘッドレスなど)、カスタムOAuth アプリケーションの作成、その理由などについては、ヘルプドキュメントを参照してください。

    $constr = "SubscriptionKey=my_subscription_key;CountryVersion=2021.R2.AU;CompanyFile=Q:/CompanyName.QBW;User=my_user;Password=my_password;CallbackURL=http://localhost:33333;OAuthClientId=my_oauth_client_id;OAuthClientSecret=my_oauth_client_secret;" $conn= New-Object System.Data.CData.ReckonAccountsHosted.ReckonAccountsHostedConnection($constr) $conn.Open()
  3. ReckonAccountsHostedDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:

    $sql="SELECT Name, Balance from Accounts" $da= New-Object System.Data.CData.ReckonAccountsHosted.ReckonAccountsHostedDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.name $_.balance }

Reckon Accounts Hosted データの更新

$cmd = New-Object System.Data.CData.ReckonAccountsHostedCommand("UPDATE Accounts SET IsActive='true' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.ReckonAccountsHostedParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

Reckon Accounts Hosted へのデータの挿入

$cmd = New-Object System.Data.CData.ReckonAccountsHostedCommand("UPDATE Accounts SET IsActive='true' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.ReckonAccountsHostedParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

Reckon Accounts Hosted データの削除

$cmd = New-Object System.Data.CData.ReckonAccountsHostedCommand("UPDATE Accounts SET IsActive='true' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.ReckonAccountsHostedParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

関連コンテンツ

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

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