製品をチェック

無償トライアル:

無償トライアルへ

製品の情報と無償トライアルへ:

Dynamics GP ODBC Driver

Dynamics GP ODBC ドライバーは、ODBC 接続をサポートする任意のアプリケーションからリアルタイムなDynamics GP データに直接接続できるパワフルなツールです。標準のODBC ドライバーインタフェースを使用して、データベースのようにDynamics GP にアクセスし、ベンダー、顧客、請求書、見積もりなどの読み、書き、更新を実行できます。

データ連携でお困りですか?

お問い合わせ

PowerShell からDynamics GP データをレプリケーション


Dynamics GP をクエリするための簡単なPowerShell スクリプトを記述します。ライブデータへの接続を使用してDynamics GP データをSQL Server にレプリケーション(複製)。


古川えりか
コンテンツスペシャリスト



CData ODBC Driver for DynamicsGP は、Microsoft のビルトインODBC サポートを使用して、追加設定なしで連携を可能にします。ODBC ドライバーは、PowerShell から実際のDynamics GP データへの連携を即座に実現します。

PowerShell に組み込まれている.NET Framework Provider for ODBC を使用して、Dynamics GP を他のデータベースに複製するなどの統合タスクを素早く自動化できます。この記事では、Dynamics GP をSQL Server に5 行のコードで複製する方法を説明します。

PowerShell コードを記述し、create、read、update、delete (CRUD) 操作を実行することも可能です。以下の例を参照してください。

ODBC Data Source for DynamicsGP の作成

未指定の場合は、初めにODBC DSN(data source name)で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。

認証するには、User およびPassword 接続プロパティを設定します。

接続するには、Url をWeb サービスのエンドポイントに設定します。例えば、http://{servername}:{port}/Dynamics/GPService です。さらに、CompanyId を設定します。この値は組織のセットアップウィンドウで「ツール」->「設定」->「組織」をクリックして取得できます。

デフォルトでデータサマリを返し、パフォーマンスを節約します。Line items などの詳細を返すには、LookupIds をtrue に設定します。ただしエンティティは一度に一つずつ返される必要があります。

Dynamics GP への接続

以下のコードは、DSN を使用してPowerShell でデータソースへの接続を初期化する方法を説明します。

$conn = New-Object System.Data.Odbc.OdbcConnection $conn.ConnectionString = "DSN=CData DynamicsGP Source x64"

Dynamics GP データをSQL Serverにバックアップ

キャッシュを有効にした後、以下のコードを使用して、データをSQL Server に複製できます。

次の接続プロパティを設定し、キャッシュデータベースを構成します。

  • CacheProvider:ADO.NET プロバイダの名前です。これは、ご使用のバージョンの.NET のMachine.config にあります。例として、SQL Server を構成するにはSystem.Data.SqlClient と入力します。

  • CacheConnection:データベースの接続に必要なプロパティの接続文字列です。以下はSQL Server の一例です。

    Server=localhost;Database=RSB;User Id=sqltest;Password=sqltest;

この例のSQL クエリを使用して、スキーマを含むキャッシュされたテーブル全体を更新できます。既存のキャッシュはすべて削除されます。

$conn.Open() # Create and execute the SQL Query $SQL = "CACHE DROP EXISTING SELECT * FROM " + $SalesInvoice $cmd = New-Object System.Data.Odbc.OdbcCommand($sql,$conn) $count = $cmd.ExecuteNonQuery() $conn.Close()

ドライバーを使用すると、キャッシュ機能を完全に制御できます。その他のキャッシュコマンドと使用例については、ヘルプドキュメントを参照してください。他のデータベースに複製する手順についても、ヘルプドキュメントを参照してください。

その他の操作

PowerShell でDynamics GP を取得するには、OdbcDataAdapter メソッドのFill メソッドを呼び出します。データ操作コマンドを実行するには、OdbcCommand オブジェクトを初期化してからExecuteNonQuery を呼び出します。以下は、.NET Framework Provider for ODBC を介した、Dynamics GP へのCRUD コマンドの例です。

Dynamics GP データの取得

$sql="SELECT CustomerName, TotalAmount from SalesInvoice" $da= New-Object System.Data.Odbc.OdbcDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { $dt.Columns | foreach ($col in dt{ Write-Host $1[$_] } }

Dynamics GP データの更新

$cmd = New-Object System.Data.Odbc.OdbcCommand("UPDATE SalesInvoice SET CustomerName='Bob' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.Odbc.OdbcParameter("myId","001d000000YBRseAAH") $cmd.ExecuteNonQuery()

Dynamics GP データの挿入

$cmd = New-Object System.Data.Odbc.OdbcCommand("INSERT INTO SalesInvoice SET CustomerName='Bob' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.Odbc.OdbcParameter("myId","001d000000YBRseAAH") $cmd.ExecuteNonQuery()

Dynamics GP データの削除

$cmd = New-Object System.Data.Odbc.OdbcCommand("DELETE FROM SalesInvoice WHERE Id = @myid", $conn) $cmd.Parameters.Add(new System.Data.Odbc.OdbcParameter("myId","001d000000YBRseAAH") $cmd.ExecuteNonQuery()