複数データソースとの連携
CData ADO.NET Provider for Query Federation は、設定された各データソースを独自のカタログとして公開します。
例えば、CSV ファイルへの接続を指すCSV カタログ、MySQL データベースを指すMySQL カタログ、Salesforce アカウントを指すSalesforce カタログがあるとします。
複数データソースのクエリ
Query Federation ドライバーを介した単一の接続を使用して、これらのすべてのカタログを個別に操作できます。
仮想化された各データソースへの接続設定は、Query Federation ドライバーのデータベースコンフィギュレーションファイルに抽象化されています。
設定ガイドは、Federated Database の定義 を参照してください。
複数カタログでのクエリ
Query Federation ドライバーには多くのカタログ(各データソースに1つ)があるため、以下のクエリのようにすべてのオブジェクト名を完全修飾することで、常にクエリ内のカタログを明確にする必要があります。
SELECT * FROM CSVCatalog.CSVSchema.Accounts SELECT * FROM MySQLCatalog.MySQLSchema.Contacts特定のツールやアプリケーションで完全修飾名を使用できない場合があるかもしれません。その場合は、ドライバーのDefaultCatalog プロパティを設定することができます。
これは、ドライバーの使用を単一ソースに限定するためあまり有用ではありませんが、状況によってはそれで十分な場合もあります。
複数カタログ間でのデータの結合
単一カタログからデータをクエリするだけでなく、SQL で許可されている任意の方法で、異なるカタログからオブジェクトを組み合わせることができます。
例えば、以下に示すように、2つの異なるカタログのテーブル間でJOIN 操作を実行できます。
SELECT CSVDownloads.FileID, CSVDownloads.FileName FROM CSVCatalog.CSVSchema.Downloads CSVDownloads, MySQLCatalog.MySQLSchema.Customers MySQLCustomers WHERE CSVDownloads.UserEmail = MySQLCustomers.Email
単一データソースの複数インスタンスのクエリ
任意のデータソースに対して単一のカタログに限定する必要はありません。異なる接続オプションを使用して、同じソースへの複数の接続を確立することは理にかなっています。
例えば、Salesforce のようなサービスに異なる資格情報を使って接続し、それぞれが連合データベースの個別のカタログである場合があります。
これを行うには、config ファイルに似たような接続を作成するだけです。これで、上記と同じ方法でクエリを実行できます。