ODBC を介してNode.js からMYOB AccountRight のデータをクエリ

node-odbc を使用して、Node.js からMYOB AccountRight のデータへのSQL クエリを実行します。

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

最終更新日:2022-01-09

この記事で実現できるMYOB AccountRight 連携のシナリオ

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

Node.js はブラウザ上以外でJavaScript コードを使用できるJavaScript ランタイム環境です。CData ODBC Driver for MYOB を使用すれば、Node.js アプリとスクリプトから、リアルタイムMYOB AccountRight のデータにアクセスできます。この記事ではnode-odbc のインストールと、リアルタイムMYOB AccountRight のデータへのアクセスが可能な、シンプルなNode.js アプリケーションを作成するために必要なツールについて説明します。

ビルトインの最適化されたデータ処理により、CData ODBC Driver は比類のないパフォーマンスで、Node.js のリアルタイムMYOB AccountRight のデータとやりとりできます。Node.js からMYOB AccountRight に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をMYOB AccountRight に直接プッシュし、組み込まれたSQL エンジンを利用してサポートされていない操作(主にSQL 関数とJOIN 操作)をクライアント側で処理します。

CData ODBC ドライバとは?

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

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

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

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

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

必要な接続プロパティの値が未入力の場合には、データソース名(DSN)で入力します。組み込みのMicrosoft ODBC Data Source Administrator を使用し、DSN を構成できます。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、ヘルプドキュメントの「はじめに」を参照してください。

MYOB への接続

MYOB 会社ファイルに接続するには、CompanyFileId をデータを取得したい会社ファイルのID に設定します。指定しない場合は、最初に返された会社ファイルのID(アルファベット順にソート)が使用されます。

この接続プロパティは、CompanyFiles ビューを除くすべてのテーブルおよびビューにアクセスするために必要です。CompanyFiles ビューは、アカウントに紐づく会社ファイル(およびその関連ID)を表示するために使用できます。会社ファイルのID がわからない場合は、このビューを使用してください。

次のプロパティを追加設定します。

オンプレミスインスタンスInstanceOnPremise に設定。
AuthSchemeBasic に設定。
User:会社のファイルに紐づいているユーザー名。会社ファイルを作成すると、Administrator というユーザーアカウントが自動的に作成されます。デフォルトでは、Administrator ユーザーアカウントにはパスワードが割り当てられません。
InitiateOAuth:OFF。
Url:MYOB インスタンスのURL。
クラウドインスタンスInstanceCloud に設定。
AuthSchemeOAuth に設定。
InitiateOAuthGETANDREFRESH
User:会社のファイルに紐づいているユーザー名。
Password:(パスワードが設定されている場合)会社ファイルの認可されたユーザーのパスワードに設定。

OAuth で認証する場合は、さらにヘルプドキュメントを参照してください。

node-odbc を構築する

CData ODBC Driver を介してMYOB AccountRight に接続するには、必要なツールをインストールした後に、node-odbc を手動で構築する必要があります。

必要なツールをインストールする

以下のコマンドでは、node-odbc の構築に必要なツールをインストールします。(ツールをグローバルにインストールする-g パラメータに注意してください。)

npm i -g windows-build-tools
npm i -g node-gyp

node-odbc を構築する

必要なツールをインストールしたらNode.js アプリケーションのディレクトリを作成し、Node.js スクリプトで使用するバイナリを構築するodbc をインストールします。

mkdir nodeodbc
cd nodeodbc
npm i -g node

Node.js からMYOB AccountRight をクエリ

ODBC Driver がインストールされ、DSN が構成されて、node-odbc が構築されたら、Node.js アプリケーションからリアルタイムMYOB AccountRight のデータをクエリすることができるようになります。以下のサンプルコードは、特定のDSN に接続してAccounts テーブルをクエリします。

myscript.js

const odbc = require('odbc');

async function queryMYOB() {
    const connection = await odbc.connect(`DSN=CData MYOB Source`);
    const data = await connection.query('SELECT Id, Name FROM Accounts');
    console.log(data);
}

queryMYOB();

アプリケーションを作成したら、node を使用してスクリプトを実行します。

node myscript.js
Sample program results (Salesforce is shown.

おわりに

CData ODBC Driver for MYOB の30日の無償評価版 をダウンロードすればNode.js でリアルタイムMYOB AccountRight のデータを使用できます。ご不明な点があれば、サポートチームにお問い合わせください。

関連コンテンツ

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

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