クライアントインターフェイスガイド > ADO.NET経由でのTDVサーバーへの接続 > ADO.NETドライバーをテストするためのサンプルコード > メタデータの取得
 
メタデータの取得
TDV ADO.NETドライバーのメタデータ機能は、CompositeConnectionオブジェクトを使用する汎用APIを介して公開されます。 CompositeConnectionオブジェクトのGetSchemaメソッドには、必要なメタデータコレクションと呼ばれるスキーマ情報の名前を渡すことができるオーバーロードがあります。フィルター情報を渡すこともできます。次の表は、GetSchemaのオーバーロードを示しています。
過負荷
説明
GetSchema()
このプロバイダーで使用可能な各メタデータコレクションの行を含むDataTableを取得します。このオプションは、GetSchema("MetaDataCollections")を呼び出すのと同じです。
GetSchema(文字列)
メタデータコレクション名を渡し、データベース内のそのメタデータコレクションで見つかった各アイテムの行を含むDataTableを取得します。
GetSchema(文字列、文字列配列)
メタデータコレクション名と、結果のフィルタリング方法を指定する文字列値の配列を渡し、データベースのメタデータコレクションで見つかったフィルタリングされた各アイテムの行を含むDataTableを取得します。
GetSchemaメソッドを実行するには、接続を開く必要があります。パラメータなしでGetSchemaメソッドを呼び出すことから始めることができます。使用可能なメタデータコレクションのリストを返します。
以下は、TABLESの制限情報を取得するサンプルです。
public void TestRestrictionInfo()
{
string space = " ";
CompositeConnection conn = GetConnection();
try
{
DataTable dt = conn.GetSchema("Restrictions");
foreach (DataRow myRow in dt.Rows)
{
if(myRow[0].ToString().ToUpper() == "TABLES")
{
Console.WriteLine(myRow[0] + space + myRow[1] + space + myRow[2]);
}
}
}
catch (Exception ex)
{
throw ex;
}
}
 
プログラムを実行すると、次の結果が表示されます。これは、メタデータTABLESにcatalog_name、schema_name、table_name、およびtable_typeの4つの制限があることを示しています。