OleDbConnection.GetOleDbSchemaTable メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > OleDbConnection.GetOleDbSchemaTable メソッドの意味・解説 

OleDbConnection.GetOleDbSchemaTable メソッド

GUID によって指定したデータ ソースのスキーマ情報を、指定した制約の適用後に返します。

名前空間: System.Data.OleDb
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Function GetOleDbSchemaTable ( _
    schema As Guid, _
    restrictions As Object() _
) As DataTable
Dim instance As OleDbConnection
Dim schema As Guid
Dim restrictions As Object()
Dim returnValue As DataTable

returnValue = instance.GetOleDbSchemaTable(schema, restrictions)
public DataTable GetOleDbSchemaTable (
    Guid schema,
    Object[] restrictions
)
public:
DataTable^ GetOleDbSchemaTable (
    Guid schema, 
    array<Object^>^ restrictions
)
public DataTable GetOleDbSchemaTable (
    Guid schema, 
    Object[] restrictions
)
public function GetOleDbSchemaTable (
    schema : Guid, 
    restrictions : Object[]
) : DataTable

パラメータ

schema

取得するスキーマ テーブルを示す OleDbSchemaGuid 値の 1 つ。

restrictions

制約値の Object 配列。制約値は、制約列の順に適用されます。つまり、先頭の制約値は先頭の制約列に適用され、2 番目の制約値は 2 番目の制約列に適用されます。

戻り値
要求したスキーマ情報を格納した DataTable。

例外例外
例外の種類条件

OleDbException

指定された制約セットが無効です。

InvalidOperationException

OleDbConnection が閉じています。

ArgumentException

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

または

schema パラメータに DbInfoLiterals の値が格納され、restrictions パラメータに 1 つ以上の制約が格納されています。

解説解説

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

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

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

使用例使用例

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

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
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;
    }
using System;
using System.Data;
using System.Data.OleDb;

class Class1
{
    static void Main()
    {
        string x = "Provider=SQLOLEDB;Data Source=(local);Initial
 Catalog=AdventureWorks;"
            + "Integrated Security=SSPI";
        GetSchemaTable(x);
        Console.ReadLine();
    }

    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;
        }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

OleDbConnection.GetOleDbSchemaTable メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



OleDbConnection.GetOleDbSchemaTable メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS