Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zum Abrufen von Schemainformationen aus einer Datenquelle können Sie einen beliebigen .NET Framework-Datenprovider verwenden. Zu den Schemainformationen in einer Datenquelle gehören die in der Datenquelle verfügbaren Datenbanken oder Kataloge, Tabellen und Ansichten in einer Datenbank, Einschränkungen für Tabellen in der Datenquelle usw.
Der .NET Framework-Datenprovider für SQL Server und der .NET Framework-Datenprovider für ODBC stellen Schemainformationen mit Hilfe von Funktionen zur Verfügung, die von der jeweiligen Datenquelle bereitgestellt werden, z. B. über gespeicherte Prozeduren und Informationsansichten. Informationen zu Ansichten und gespeicherten Prozeduren, die über Microsoft SQL Server verfügbar sind, finden Sie in der Transact-SQL-Referenz in der MSDN Library unter https://msdn.microsoft.com/library (nur auf Englisch verfügbar).
Der .NET Framework-Datenprovider für OLE DB stellt Schemainformationen mit der GetOleDbSchemaTable-Methode des OleDbConnection-Objekts zur Verfügung. Als Argumente verwendet die GetOleDbSchemaTable-Methode eine OleDbSchemaGuid, die angibt, welche Schemainformationen zurückgegeben werden sollen, sowie ein Einschränkungsarray für diese zurückgegebenen Spalten. Die GetOleDbSchemaTable-Methode gibt eine DataTable zurück, die mit den Schemainformationen gefüllt ist.
Um Schemainformationen aus einer Datenquelle abzurufen, verwendet der .NET Framework-Datenprovider für ODBC dieselbe Methode wie der .NET Framework-Datenprovider für SQL Server.
Das folgende Codebeispiel gibt die Liste mit den Tabellen in der Northwind-Datenbank zurück. Im Beispiel für den .NET Framework-Datenprovider für SQL Server werden die Tabellen aus einer von Microsoft SQL Server bereitgestellten Informationsansicht ausgewählt, und eine DataTable wird mit Hilfe eines DataAdapter-Objekts gefüllt. Im Beispiel für den .NET Framework-Datenprovider für OLE DB wird mit Hilfe der GetOleDbSchemaTable-Methode eine DataTable mit den Schemainformationen zurückgegeben.
SqlClient
Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind")
Dim schemaDA As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM INFORMATION_SCHEMA.TABLES " & _
"WHERE TABLE_TYPE = 'BASE TABLE' " & _
"ORDER BY TABLE_TYPE", _
nwindConn)
Dim schemaTable As DataTable = New DataTable
schemaDA.Fill(schemaTable)
[C#]
SqlConnection nwindConn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind");
SqlDataAdapter schemaDA = new SqlDataAdapter("SELECT * FROM INFORMATION_SCHEMA.TABLES " +
"WHERE TABLE_TYPE = 'BASE TABLE' " +
"ORDER BY TABLE_TYPE",
nwindConn);
DataTable schemaTable = new DataTable();
schemaDA.Fill(schemaTable);
OleDb
Dim nwindConn As OleDbConnection = New OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind")
nwindConn.Open()
Dim schemaTable As DataTable = nwindConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
New Object() {Nothing, Nothing, Nothing, "TABLE"})
nwindConn.Close()
[C#]
OleDbConnection nwindConn = new OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind");
nwindConn.Open();
DataTable schemaTable = nwindConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
new object[] {null, null, null, "TABLE"});
nwindConn.Close();
Siehe auch
Datenzugriff mit .NET Framework-Datenprovidern | DataTable-Klasse | OleDbConnection.GetOleDbSchemaTable-Methode | OleDbSchemaGuid-Klasse