PolyBase で外部データソースとして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 インターフェースで双方向連携。



CData ODBC Driver for MYOB AccountRight とSQL Server 2019 のPolyBase を使って、リアルタイムMYOB AccountRight に外部データソースとしてアクセス。

SQL Server のPolyBase は、データベーステーブルをクエリするTransact-SQL 構文を使って、外部データにクエリする仕組みです。 CData ODBC Drivers for MYOB AccountRight を組み合わせて使うことで、SQL Server データと同じようにMYOB AccountRight へのアクセスが可能です。 本記事では、外部データソースと外部テーブルの作成から、T-SQL クエリを使ってライブMYOB AccountRight データへ接続を認可するところまで説明します。

CData ODBC ドライバーは、ドライバーに組み込まれた最適化されたデータ処理により、PolyBase でライブMYOB AccountRight データを送受信するための圧倒的なパフォーマンスを提供します。SQL Server からMYOB AccountRight に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をMYOB AccountRight に直接プッシュダウンし、組み込みSQL エンジンを利用して、サポートされていない操作(一般的にはSQL 関数とJOIN 操作) をクライアント側で処理します。また、PolyBase を使用することで、単一のクエリを使用して分散ソースからデータをプルし、SQL Server データをMYOB AccountRight と結合することもできます。

MYOB AccountRight への接続

未指定の場合は、初めにODBC DSN(data source name)で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。PolyBase を使用してSQL Server に外部データソースを作成するには、System DSN を構成します。(CData MYOB AccountRight Sys は自動的に作成されます。)

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

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

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

InitiateOAuth:OFF に設定。

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

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

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

MYOB のクラウドインスタンスに接続するには、OAuth アプリを作成する必要があります。このプロセスの詳細は、カスタムOAuth アプリの作成 にあります。

[接続のテスト]をクリックして、DSN がMYOB AccountRight に正しく接続できているかを確認します。[テーブル]タブに移動し、MYOB AccountRight のテーブル定義を確認します。

MYOB AccountRight データの外部データソースを作成

接続を構成したのち、外部データソースのマスター暗号化キーと資格情報データベースを作成する必要があります。

マスター暗号化キーの作成

以下のSQL コマンドを実行して新しいマスターキー[ENCRYPTION]を作成し、外部データソースの資格情報を暗号化します。

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';

資格情報データベースの作成

以下のSQL コマンドを実行してMYOB AccountRight に接続されている外部データソースの資格情報を作成します。

Note:IDENTITY とSECRET はMYOB AccountRight のUser プロパティとPassword プロパティに対応しています。

CREATE DATABASE SCOPED CREDENTIAL myob_creds
WITH IDENTITY = 'username', SECRET = 'password';

MYOB AccountRight の外部データソースを作成

以下のSQL コマンドを実行し、以前作成したDSN と資格情報を使用して、PolyBase でMYOB AccountRight の外部データソースを作成します。

MYOB AccountRight の場合、SERVERNAME を[localhost]または[127.0.0.1]に設定し、PORT を空のままにします。PUSHDOWN は、デフォルトでON に設定されているため、ODBC Driver は、サーバー側の処理を利用して複雑なクエリを実行できます。

CREATE EXTERNAL DATA SOURCE cdata_myob_source
WITH ( 
  LOCATION = 'odbc://SERVERNAME[:PORT]',
  CONNECTION_OPTIONS = 'DSN=CData MYOB AccountRight Sys',
  -- PUSHDOWN = ON | OFF,
  CREDENTIAL = myob_creds
);

MYOB AccountRight の外部テーブルを作成

外部データソースを作成したら、CREATE EXTERNAL TABLE ステートメントを使用してSQL Server インスタンスからMYOB AccountRight にリンクします。テーブルカラムの定義は、CData ODBC Driver for MYOB AccountRight によって公開されているものと一致しなければなりません。DSN Configuration Wizard の[テーブル]タブを参照し、テーブルの定義を確認できます。

CREATE TABLE ステートメントのサンプル

以下は、MYOB AccountRight Accounts に基づいて外部テーブルを作成するステートメントの一例です。

CREATE EXTERNAL TABLE Accounts(
  Id [nvarchar](255) NULL,
  Name [nvarchar](255) NULL,
  ...
) WITH ( 
  LOCATION='Accounts',
  DATA_SOURCE=cdata_myob_source
);

SQL Server インスタンスでMYOB AccountRight の外部テーブルを作成すると、ローカルデータとリモートデータを同時にクエリできるようになります。CData ODBC Driver に組み込まれているクエリ処理により、可能な限り多くのクエリ処理がMYOB AccountRight にプッシュされることで、ローカルのリソースと計算リソースが解放されます。ODBC Driver for MYOB AccountRight の30日間無料トライアルをダウンロードし、SQL Server データでライブMYOB AccountRight データを使い始めましょう。