本記事では CData サポート担当からこんなことを聞かれたらどこを確認すべきか?という観点で、よく頂くお問合せ内容をご紹介します。
記事はこちら →CData ADO.NET Provider for SuiteCRM は、ADO.NET 標準インターフェースへ統合し、PowerShell のような. NET アプリケーションからSuiteCRM API へのデータ連携を可能にします。このプロバイダーは、SuiteCRM の認証および相互作用を簡単にします。このチュートリアルでは、PowerShell から直接SQL クエリを実行するための、いくつかの一般的なADO.NET オブジェクトの使い方を説明します。
次の3つのステップに従って create、read、update、およびdelete (CRUD) のデータ連携コマンドを PowerShell からリアルタイムSuiteCRM に実行:
プロバイダーのアセンブリをロード:
[Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for SuiteCRM\lib\System.Data.CData.SuiteCRM.dll")
SuiteCRM に接続:
次の接続プロパティを設定すると、V4.1 API 経由でSuiteCRM データに接続できます。
SuiteCRM メタデータの取得は高負荷になる可能性があることに注意してください。メタデータのキャッシュ で説明しているように、メタデータをローカルに格納することをお勧めします。
$constr = "URL=http://mySuiteCRM.com;User=myUser;Password=myPassword;"
$conn= New-Object System.Data.CData.SuiteCRM.SuiteCRMConnection($constr)
$conn.Open()
SuiteCRMDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:
$sql="SELECT Name, Industry from Accounts"
$da= New-Object System.Data.CData.SuiteCRM.SuiteCRMDataAdapter($sql, $conn)
$dt= New-Object System.Data.DataTable
$da.Fill($dt)
$dt.Rows | foreach { Write-Host $_.name $_.industry }
$cmd = New-Object System.Data.CData.SuiteCRMCommand("UPDATE Accounts SET Industry='Manufacturing' WHERE Id = @myId", $conn)
$cmd.Parameters.Add(new System.Data.CData.SuiteCRMParameter("myId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
$cmd = New-Object System.Data.CData.SuiteCRMCommand("UPDATE Accounts SET Industry='Manufacturing' WHERE Id = @myId", $conn)
$cmd.Parameters.Add(new System.Data.CData.SuiteCRMParameter("myId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
$cmd = New-Object System.Data.CData.SuiteCRMCommand("UPDATE Accounts SET Industry='Manufacturing' WHERE Id = @myId", $conn)
$cmd.Parameters.Add(new System.Data.CData.SuiteCRMParameter("myId","10456255-0015501366"))
$cmd.ExecuteNonQuery()
CodeProject