ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →無償トライアル:
無償トライアルへ製品の情報と無償トライアルへ:
Dynamics 365 データを組み込んだパワフルな.NET アプリケーションを短時間・低コストで作成して配布できます。
加藤龍彦
ウェブデベロッパー
CData ADO.NET Provider for Dynamics365 は、ADO.NET 標準インターフェースへ統合し、PowerShell のような. NET アプリケーションからDynamics 365 API へのデータ連携を可能にします。このプロバイダーは、Dynamics 365 の認証および相互作用を簡単にします。このチュートリアルでは、PowerShell から直接SQL クエリを実行するための、いくつかの一般的なADO.NET オブジェクトの使い方を説明します。
次の3つのステップに従って create、read、update、およびdelete (CRUD) のデータ連携コマンドを PowerShell からリアルタイムDynamics 365 に実行:
プロバイダーのアセンブリをロード:
[Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for Dynamics365\lib\System.Data.CData.Dynamics365.dll")
Dynamics 365 に接続:
Dynamics365 Online、オンプレミス、およびOnPremise IFD (Internet-facing deployment) に接続することができます。すべてのエディションで、OrganizationalUrl がログインで利用するURL に設定される必要があります。 オンプレミス版の場合には、追加でUser およびPassword 接続プロパティを入力する必要があります。
Online 版およびOnPremise IFD 版は、OAuth 値を指定する必要があります。詳細はヘルプドキュメントの「はじめに」を参照してください。
$constr = "Dynamics365Edition=Dynamics 365 Online;Tenant=myaccount.onmicrosoft.com;OrganizationUrl=https://myaccount.crm.dynamics.com/;OAuthClientId=clientid;OAuthClientSecret=secret;CallbackURL=http://MyAppReplyURL:portNumber;"
$conn= New-Object System.Data.CData.Dynamics365.Dynamics365Connection($constr)
$conn.Open()
Dynamics365DataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:
$sql="SELECT Name, NumberOfEmployees from Accounts"
$da= New-Object System.Data.CData.Dynamics365.Dynamics365DataAdapter($sql, $conn)
$dt= New-Object System.Data.DataTable
$da.Fill($dt)
$dt.Rows | foreach { Write-Host $_.name $_.numberofemployees }
$cmd = New-Object System.Data.CData.Dynamics365Command("UPDATE Accounts SET address1_city='Raleigh' WHERE AccountId = @myAccountId", $conn)
$cmd.Parameters.Add(new System.Data.CData.Dynamics365Parameter("myAccountId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
$cmd = New-Object System.Data.CData.Dynamics365Command("UPDATE Accounts SET address1_city='Raleigh' WHERE AccountId = @myAccountId", $conn)
$cmd.Parameters.Add(new System.Data.CData.Dynamics365Parameter("myAccountId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
$cmd = New-Object System.Data.CData.Dynamics365Command("UPDATE Accounts SET address1_city='Raleigh' WHERE AccountId = @myAccountId", $conn)
$cmd.Parameters.Add(new System.Data.CData.Dynamics365Parameter("myAccountId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
CodeProject