OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) メソッド

定義

GUID で示されているようにデータ ソースからスキーマ情報を返し、指定された制限を適用した後に返します。

public:
 System::Data::DataTable ^ GetOleDbSchemaTable(Guid schema, cli::array <System::Object ^> ^ restrictions);
public System.Data.DataTable GetOleDbSchemaTable(Guid schema, object[] restrictions);
member this.GetOleDbSchemaTable : Guid * obj[] -> System.Data.DataTable
Public Function GetOleDbSchemaTable (schema As Guid, restrictions As Object()) As DataTable

パラメーター

schema
Guid

返すスキーマ テーブルを指定する OleDbSchemaGuid 値の 1 つ。

restrictions
Object[]

制限値の Object 配列。 これらは、制限列の順序で適用されます。 つまり、最初の制限値が最初の制限列に適用され、2 番目の制限値が 2 番目の制限列に適用されます。

返品

要求されたスキーマ情報を含む DataTable

例外

指定された一連の制限が無効です。

OleDbConnection は閉じられます。

指定されたスキーマ行セットは、OLE DB プロバイダーではサポートされていません。

-または-

schema パラメーターには DbInfoLiterals の値が含まれており、restrictions パラメーターには 1 つ以上の制限があります。

次の例では、データベース内のテーブルの一覧を返します。

static DataTable GetSchemaTable(string connectionString)
{
    using (OleDbConnection connection = new
               OleDbConnection(connectionString))
    {
        connection.Open();
        DataTable schemaTable = connection.GetOleDbSchemaTable(
            OleDbSchemaGuid.Tables,
            new object[] { null, null, null, "TABLE" });
        return schemaTable;
    }
}
Public Function GetSchemaTable(ByVal connectionString As String) _
    As DataTable

    Using connection As New OleDbConnection(connectionString)
        connection.Open()

        Dim schemaTable As DataTable = _
            connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
            New Object() {Nothing, Nothing, Nothing, "TABLE"})
        Return schemaTable
    End Using
End Function

注釈

スキーマ テーブルは、schema パラメーターで指定された OLE DB スキーマ行セットと同じ形式のDataTableとして返されます。 restrictions パラメーターを使用して、DataTableで返される行をフィルター処理します (たとえば、テーブル名、型、所有者、またはスキーマの制限を指定します)。 配列に値を渡す場合は、値を含まない配列要素に空の文字列または null を含めます。 空の配列を restrictionsに渡すと、すべての行 (テーブルごとに 1 つ) が既定の順序で返されます。 配列内の値は、ソース テーブルと DataTable内の列の順序に対応します。 制限配列内の各要素は、スキーマ行セット内の対応する列の内容と比較されます。 たとえば、制限配列の最初の要素は、行セットの最初の列と比較されます。 制限要素が null でない場合は、その制限の値と完全に一致するスキーマ行セットの行のみが、結果の DataTableに追加されます。

OleDbConnection メソッドは、標準の共通言語ランタイム変換規則を使用して、基になる OLE DB IDBSchemaRowset::GetRowset メソッドを呼び出します。 詳細については、「 COM データ型」を参照してください

リテラルに関する情報は、 DbInfoLiteralsを使用して取得できます。 これは、OLE DB IDBInfo::GetLiteralInfo インターフェイス、または ADO Connection.OpenSchema メソッドを adSchemaDBInfoLiterals 定数で呼び出すことと同等の情報を提供します。

適用対象

こちらもご覧ください