この ULConnection のデータ・ソースのスキーマ情報を返します。このとき、文字列が指定されている場合はスキーマ名として使用し、文字列配列が指定されている場合は制限値として使用します。
Visual Basic Public Overrides Function GetSchema( _ ByVal collection As String, _ ByVal restrictions As String() _ ) As DataTable
C# public override DataTable GetSchema( string collection, string [] restrictions );
collection メタデータ・コレクションの名前。指定しない場合、MetaDataCollections が使用されます。
restrictions 要求されるスキーマの制限値のセット。
スキーマ情報が格納されている DataTable。
このメソッドを使用すると、データベースに各種のメタデータを問い合わせることができます。メタデータの各型にはコレクション名が指定されており、そのデータを受け取るにはコレクション名を渡す必要があります。デフォルトのコレクション名は MetaDataCollections です。
引数を指定せずに、または MetaDataCollections というスキーマ・コレクション名を指定して GetSchema メソッドを呼び出すことによって、.NET データ・プロバイダに問い合わせをして、サポートされているスキーマ・コレクションのリストを判断できます。これによって、サポートされているスキーマ・コレクション (CollectionName)、それぞれがサポートする制限の数 (NumberOfRestrictions)、使用する識別子部分の数のリストから成る DataTable が返されます。
コレクション |
メタデータ |
---|---|
Columns | データベース内のすべてのカラムに関する情報を返します。 |
DataSourceInformation | データベース・プロバイダに関する情報を返します。 |
DataType | サポートされているデータ型のリストを返します。 |
ForeignKeys | データベース内のすべての外部キーに関する情報を返します。 |
IndexColumns | データベース内のすべてのインデックス・カラムに関する情報を返します。 |
Indexes | データベース内のすべてのインデックスに関する情報を返します。 |
MetaDataCollections | すべてのコレクション名のリストを返します。 |
Publications | データベース内のすべてのパブリケーションに関する情報を返します。 |
ReservedWords | Ultra Light が使用する予約語のリストを返します。 |
Restrictions | GetSchema で使用される制限に関する情報を返します。 |
Tables | データベース内のすべてのテーブルに関する情報を返します。 |
これらのコレクション名は、ULMetaDataCollectionNames クラスの読み込み専用プロパティとしても使用できます。
返される結果は、GetSchema への呼び出しの中で制限の配列を指定することによってフィルタできます。
各コレクションで有効な制限は、次の文を呼び出すことで問い合わせることができます。
GetSchema( "Restrictions" ) |
コレクションが 4 つの制限を必要とする場合、制限パラメータは、NULL、または 4 つの値から成る文字列です。
特定の制限をフィルタするには、フィルタする文字列を配列内の所定の位置に指定し、使用しない位置には NULL を指定します。たとえば、Tables コレクションには、Table、TableType、SyncType という 3 つの制限があります。
Table コレクションをフィルタするには、次の手順に従います。
GetSchema( "Tables", new string[ ] { "my_table", NULL, NULL } ):my_table という名前のすべてのテーブルに関する情報を返します。
GetSchema( "Tables", new string[ ] { NULL, "User", NULL } ):すべてのユーザ・テーブルに関する情報を返します。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |