製品をチェック

MYOB AccountRight ODBC Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

MYOB AccountRight アイコン MYOB AccountRight ODBC Driver 相談したい

MYOB AccountRight ODBC Driver を使って、ODBC 接続をサポートするあらゆるアプリケーション・ツールからMYOB AccountRight データに連携。

Epicor ERP に標準ODBC Driver インターフェースを使ってRDB と同感覚でアクセス - MYOB AccountRight のAccounts、Purchase Orders、Invoices、Customers に標準ODBC インターフェースで双方向連携。

PowerShell を使ってMYOB AccountRight データをSQL Server にレプリケーション

MYOB AccountRight をPowerShell スクリプトを記述。リアルタイムデータへの接続を使用してMYOB AccountRight データをSQL Server にレプリケーション(複製)。

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

最終更新日:2023-09-26

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

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

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

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

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. MYOB AccountRight をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにMYOB AccountRight データを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてMYOB AccountRight の接続を設定、2.PowerShell 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとMYOB AccountRight への接続設定

まずは、本記事右側のサイドバーからMYOB ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

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

これらのプロパティは会社のファイルに接続するときに必要です(クラウドインスタンスおよびオンプレミスインスタンスの両方)。

  • User:会社のファイルに紐づいているユーザー名。
  • Password:会社のファイルに紐づいているパスワード。
  • CompanyFileId:会社ファイルのID。指定しない場合は、最初に返された会社ファイルのID が使用されます。CompanyFiles ビュー をクエリしてこれを見ることができます:
    SELECT Id FROM CompanyFiles

オンプレミスインスタンスへの接続:

InitiateOAuth:OFF に設定。

オンプレミスインスタンスに接続する場合は、上記に加えて、次の接続プロパティを設定する必要があります。

  • Url: MYOB インスタンスのURL。

クラウドインスタンスへの接続:

MYOB のクラウドインスタンスに接続するには、OAuth アプリを作成する必要があります。このプロセスの詳細は、ヘルプの「カスタムOAuth アプリの作成」を参照してください。

MYOB AccountRight への接続

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

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

MYOB AccountRight データを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 " + $Accounts $cmd = New-Object System.Data.Odbc.OdbcCommand($sql,$conn) $count = $cmd.ExecuteNonQuery() $conn.Close()

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

その他の操作

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

MYOB AccountRight データの取得

$sql="SELECT Id, Name from Accounts" $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[$_] } }

MYOB AccountRight データの更新

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

MYOB AccountRight データの挿入

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

MYOB AccountRight データの削除

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

MYOB AccountRight からPowerShell へのデータ連携には、ぜひCData ODBC ドライバをご利用ください

このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

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

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