各製品の資料を入手。
詳細はこちら →CData
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
Node.js はブラウザ上以外でJavaScript コードを使用できるJavaScript ランタイム環境です。CData ODBC Driver for WooCommerce を使用すれば、Node.js アプリとスクリプトから、リアルタイムWooCommerce データにアクセスできます。この記事ではnode-odbc のインストールと、リアルタイムWooCommerce データへのアクセスが可能な、シンプルなNode.js アプリケーションを作成するために必要なツールについて説明します。
ビルトインの最適化されたデータ処理により、CData ODBC Driver は比類のないパフォーマンスで、Node.js のリアルタイムWooCommerce データとやりとりできます。Node.js からWooCommerce に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をWooCommerce に直接プッシュし、組み込まれたSQL エンジンを利用してサポートされていない操作(主にSQL 関数とJOIN 操作)をクライアント側で処理します。
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
CData ODBC ドライバでは、1.データソースとしてWooCommerce の接続を設定、2.Node.js 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
まずは、本記事右側のサイドバーからWooCommerce ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
必要な接続プロパティの値が未入力の場合には、データソース名(DSN)で入力します。組み込みのMicrosoft ODBC Data Source Administrator を使用し、DSN を構成できます。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、ヘルプドキュメントの「はじめに」を参照してください。
WooCommerce は、one-legged OAuth1.0 認証と通常のOAuth2.0 認証をサポートします。
次のプロパティを指定してください(NOTE:次の資格情報はWooCommerce の設定ページで生成されるもので、WordPress OAuth2.0 プラグインで生成されるものとは異なります)。
プラグインを設定した後、
次の接続プロパティを指定することでWooCommerce に接続できます。
どちらの場合方法でも、Url プロパティをWooCommerce インスタンスのURL に設定する必要があります。
CData ODBC Driver を介してWooCommerce に接続するには、必要なツールをインストールした後に、node-odbc を手動で構築する必要があります。 以下のコマンドでは、node-odbc の構築に必要なツールをインストールします。(ツールをグローバルにインストールする-g パラメータに注意してください。) 必要なツールをインストールしたらNode.js アプリケーションのディレクトリを作成し、Node.js スクリプトで使用するバイナリを構築するodbc をインストールします。 ODBC Driver がインストールされ、DSN が構成されて、node-odbc が構築されたら、Node.js アプリケーションからリアルタイムWooCommerce データをクエリすることができるようになります。以下のサンプルコードは、特定のDSN に接続してOrders テーブルをクエリします。
アプリケーションを作成したら、node を使用してスクリプトを実行します。 CData ODBC Driver for WooCommerce の30日の無償評価版
をダウンロードすればNode.js でリアルタイムWooCommerce データを使用できます。ご不明な点があれば、サポートチームにお問い合わせください。
node-odbc を構築する
必要なツールをインストールする
npm i -g windows-build-tools
npm i -g node-gyp
node-odbc を構築する
mkdir nodeodbc
cd nodeodbc
npm i -g node
Node.js からWooCommerce をクエリ
myscript.js
const odbc = require('odbc');
async function queryWooCommerce() {
const connection = await odbc.connect(`DSN=CData WooCommerce Source`);
const data = await connection.query('SELECT ParentId, Total FROM Orders');
console.log(data);
}
queryWooCommerce();
node myscript.js
おわりに