Node.js で Veeva のデータを MySQL データベースとしてクエリ
Veeva 用の ODBC Driver の SQL Gateway を使用すると、MySQL インターフェース経由でVeeva のデータをクエリできます。以下の手順に従って、SQL Gateway の MySQL リモーティングサービスを起動し、Node.js からクエリを開始してください。
Veeva のデータに接続
まだ行っていない場合は、データソース名(DSN)で必要な接続プロパティの値を指定してください。組み込みの Microsoft ODBC データソースアドミニストレーターを使用して DSN を設定できます。これはドライバーインストールの最後のステップでもあります。Microsoft ODBC データソースアドミニストレーターを使用して DSN を作成・設定する方法については、ヘルプドキュメントの「はじめに」の章を参照してください。
それでは、Veeva Vault アカウントに接続していきましょう。まずはUrl 接続プロパティにホスト名を設定します。ホスト名は、アカウントにログインした後にアドレスバーから確認できます。
例:https://myvault.veevavault.com
Veeva Vaultへの認証
続いて、認証方法を設定しましょう。CData 製品では、以下の認証方法をサポートしています。
- Veeva Vault ユーザー資格情報
- Azure AD 認証プロバイダーのOpenID Connect
- Okta SSO
ユーザー資格情報
最も基本的な認証方法です。AuthScheme をBasic に設定し、User とPassword にユーザーログイン資格情報を設定してください。
その他の認証方法については、ヘルプドキュメントの「接続の確立」をご確認ください。
SQL Gateway を設定
SQL Gateway 概要を参照して、Veeva のデータ を仮想 MySQL データベースとして接続を設定してください。クライアントからの MySQL リクエストをリッスンする MySQL リモーティングサービスを設定します。サービスは SQL Gateway UI で設定できます。

Node.js から Veeva をクエリ
以下の例では、mysql モジュールを使用して Veeva への接続を定義し、クエリを実行する方法を示しています。以下の情報が必要です。
- ホスト名またはアドレス、およびポート:MySQL リモーティングサービスが MySQL 接続をリッスンしているマシンとポート
- ユーザー名とパスワード:SQL Gateway の Users タブで認証したユーザーのユーザー名とパスワード
- データベース名:MySQL リモーティングサービス用に設定した DSN
以下のコードでVeeva のデータに接続し、クエリの実行を開始できます。
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
database : 'CData VaultCRM Sys',
port : '3306',
user : 'mysql_user',
password : 'test'
});
connection.connect();
connection.query('SELECT * FROM NorthwindProducts', function(err, rows, fields) {
if (err) throw err;
console.log(rows);
});
connection.end();