Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
この ULConnection オブジェクトのデータソースのスキーマ情報を返します。このとき、文字列が指定されている場合はスキーマ名として使用し、文字列配列が指定されている場合は制限値として使用します。
Public Overrides Function GetSchema( ByVal collection As String, ByVal restrictions As String() ) As DataTable
public override DataTable GetSchema( string collection, string[] restrictions )
collection メタデータコレクションの名前。名前が提供されない場合は、MetaDataCollections が使用されます。
restrictions 要求されるスキーマの制限値のセット。
スキーマ情報が格納されている DataTable オブジェクト。
このメソッドを使用すると、データベースに各種のメタデータを問い合わせることができます。メタデータの各型にはコレクション名が指定されており、そのデータを受け取るにはコレクション名を渡す必要があります。デフォルトのコレクション名は MetaDataCollections です。
引数を指定せずに、または MetaDataCollections というスキーマコレクション名を指定して GetSchema メソッドを呼び出すことによって、.NET データプロバイダに問い合わせをして、サポートされているスキーマコレクションのリストを判断できます。これによって、サポートされているスキーマコレクション (CollectionName)、それぞれがサポートする制限の数 (NumberOfRestrictions)、使用する識別子部分の数のリストから成る DataTable が返されます。
これらのコレクション名は、ULMetaDataCollectionNames クラスの読み込み専用プロパティとしても使用できます。
返される結果は、GetSchema メソッドへの呼び出しの中で制限の配列を指定することによってフィルタできます。
各コレクションで有効な制限は、次の文を呼び出すことで問い合わせることができます。
GetSchema( "Restrictions" )
コレクションが 4 つの制限を必要とする場合、制限パラメータは、NULL、または 4 つの値から成る文字列です。
特定の制限をフィルタするには、フィルタする文字列を配列内の所定の位置に指定し、使用しない位置には NULL を指定します。たとえば、Tables コレクションには 3 つの制限があります。Table、TableType、SyncType です。
Table コレクションをフィルタするには、次の手順に従います。
GetSchema( "Tables", new string[ ] { "my_table", NULL, NULL } ):my_table という名前のすべてのテーブルに関する情報を返します。
GetSchema( "Tables", new string[ ] { NULL, "User", NULL } ):すべてのユーザテーブルに関する情報を返します。