CData Query Federation Driver の設定方法
CData Query Federation Driver を使用すると、複数のドライバーにまたがるデータを単一のデータベース接続としてフェデレーション(統合)し、集約できます。Query Federation Driver と他の CData JDBC Driver または CData ADO.NET Provider を組み合わせることで、すべての SaaS、ビッグデータ、NoSQL ソースを1つのデータベースのようにアクセスできます。単一のソースからデータをクエリまたは更新でき、複数のソース間でデータを JOIN する複雑なクエリも実行可能です。この記事では、Query Federation Driver を複数のデータソースに接続するための設定方法について説明します。
単一のエンドポイントからすべてのデータを扱うには、Query Federation Driver と、特定のデータソース用の CData ドライバーをインストールします。ここでは Salesforce、MySQL、Excel 用の JDBC ドライバーを例として説明しますが、Federation Driver の設定方法はサポートされている他のデータソースにも同様に適用できます。
他のデータベースドライバーと同様に、Federation Driver は接続文字列プロパティを使用してデータに接続します。Query Federation Driver には、以下の2つの主要な接続プロパティがあります。
- Database Configuration: Query Federation Driver がデータ接続に使用する CData ドライバーを定義した JSON ドキュメントの場所を指定します。通常は %AppData%/Roaming/CData/Query Federation Data Provider/DatabaseConfiguration.json です。
- Default Schema: Database Configuration ドキュメントで定義されたデータベーススキーマのうち、デフォルトで使用するスキーマを指定します。
Database Configuration ドキュメントには、Query Federation Driver で利用可能なドライバーの情報を含む JSON オブジェクトが記述されています。各 JSON オブジェクトはデータベースドライバーを表し、その名前が salesforcedb や mysqldb などのスキーマ名となります。オブジェクト内のフィールドと値は、Java ベースの Query Federation Driver(JDBC)を使用するか、C# ベースの Query Federation Driver(ADO.NET)を使用するかによって異なります。
JDBC スキーマフィールド
- driverClass: ドライバーの JDBC クラス名(例: cdata.jdbc.salesforce.SalesforceDriver)
- connectionUri: データに接続するための JDBC URL(例: jdbc:cdata:salesforce:[email protected];Password=password;)
- driverPath: ドライバーファイルが保存されているディスク上のパス(例: C:\Program Files\CData\CData JDBC Driver for Salesforce\lib\cdata.jdbc.salesforce.jar)
DatabaseConfiguration.json ファイルのサンプル(JDBC)
{
"salesforcedb": {
"driverClass": "cdata.jdbc.salesforce.SalesforceDriver",
"connectionUri": "jdbc:cdata:salesforce:[email protected];Password=password;",
"driverPath": "/PATH/TO/cdata.jdbc.salesforce.jar"
},
"exceldb": {
"driverClass": "cdata.jdbc.excel.ExcelDriver",
"connectionUri": "jdbc:cdata:excel:Excel File=/PATH/TO/MyExcelFile.xlsx;",
"driverPath": "/PATH/TO/cdata.jdbc.excel.jar"
},
"mysqldb": {
"driverClass": "cdata.jdbc.mysql.MySQLDriver",
"connectionUri": "jdbc:mysql:Server=localhost;Database=test;User=root;Password=pwd",
"driverPath": "/PATH/TO/cdata.jdbc.mysql.jar"
}
}
ADO.NET スキーマフィールド
- providerName: プロバイダーの ADO.NET クラス名(例: System.Data.CData.Salesforce)
- connectionString: データに接続するための接続文字列(例: [email protected];Password=password;)
- providerPath: ドライバーファイルが保存されているディスク上のパス(例: C:\Program Files\CData\CData ADO.NET Driver for Salesforce\lib\System.Data.CData.Salesforce.dll)
DatabaseConfiguration.json ファイルのサンプル(ADO.NET)
{
"salesforcedb": {
"providerName": "System.Data.CData.Salesforce",
"connectionString": "[email protected];Password=password;",
"providerPath": "/PATH/TO/System.Data.CData.Salesforce.dll"
},
"exceldb": {
"providerName": "System.Data.CData.Excel",
"connectionString": "Excel File=/PATH/TO/MyExcelFile.xlsx;",
"providerPath": "/PATH/TO/System.Data.CData.Excel.dll"
},
"mysqldb": {
"providerName": "System.Data.CData.MySQL",
"connectionString": "Server=localhost;Database=test;User=root;Password=pwd",
"providerPath": "/PATH/TO/System.Data.CData.MySQL.dll"
}
}
Query Federation Driver 接続のサンプル
JDBC 対応のツールまたはアプリケーションから Query Federation Driver に接続するには、Query Federation Driver 用の JDBC URL を作成します。
JDBC URL
jdbc:queryfederation:DatabaseConfiguration=/PATH/TO/DatabaseConfiguration.json;DefaultSchema=salesforcedb
ADO.NET 対応のツールの場合は、Query Federation Driver 用の接続文字列を作成します。
ADO.NET 接続文字列
DatabaseConfiguration=/PATH/TO/DatabaseConfiguration.json;DefaultSchema=salesforcedb
Query Federation Driver を設定すると、複数のソースからのデータを単一のデータベースのように扱い、操作を開始できます。以下は、上記のスキーマ設定ファイルに基づいたデータベース設計を DBVisualizer で表示した例です。
Query Federation Driver のスキーマレイアウト(DBVisualizer での表示)

無料トライアル & 詳細情報
SaaS、ビッグデータ、NoSQL、フラットファイルソースなど、複数のソースにまたがるデータを扱う機能は、データ駆動型の組織にとって非常に重要です。高機能で高パフォーマンスな Query Federation Driver を使用すれば、データがどこにあっても単一の統一されたエクスペリエンスでアクセスでき、ワールドクラスのサポートチームによるバックアップも受けられます。Query Federation Driver の30日間無料トライアルをダウンロードして、ぜひお試しください。