Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Ultra Light - .NET プログラミング » Ultra Light .NET 2.0 API リファレンス » ULConnection クラス » GetSchema メソッド

 

GetSchema(String, String[]) メソッド

この 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 } ):すべてのユーザ・テーブルに関する情報を返します。

参照