Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As Connection classes em cada um dos provedores gerenciados do .NET Framework implementam um GetSchema método usado para recuperar informações de esquema sobre o banco de dados que está conectado no momento. As informações de esquema retornadas do GetSchema método vêm na forma de um DataTable. O GetSchema método é um método sobrecarregado que fornece parâmetros opcionais para especificar a coleção de esquema a ser retornada e para restringir a quantidade de informações retornadas.
Como Especificar as Coleções de Esquemas
O primeiro parâmetro opcional do GetSchema método é o nome da coleção especificado como uma cadeia de caracteres. Há dois tipos de coleções de esquemas: as coleções de esquemas que são comuns a todos os provedores e as coleções de esquemas específicas de cada provedor.
Você pode consultar um provedor gerenciado do .NET Framework para determinar a lista de coleções de esquema com suporte chamando o GetSchema método sem argumentos ou com o nome da coleção de esquemas "MetaDataCollections". Isso retornará uma DataTable com uma lista de coleções de esquemas compatíveis, o número de restrições ao qual cada uma dá suporte e o número de partes de identificador usado por elas.
Exemplo de Recuperação de Coleções de Esquemas
Os exemplos a seguir demonstram como usar o GetSchema método do Provedor de Dados do .NET Framework para a classe SQL Server SqlConnection para recuperar informações de esquema sobre todas as tabelas contidas no AdventureWorks banco de dados de exemplo:
Imports System.Data.SqlClient
Module Module1
Sub Main()
Dim connectionString As String = GetConnectionString()
Using connection As New SqlConnection(connectionString)
'Connect to the database then retrieve the schema information.
connection.Open()
Dim table As DataTable = connection.GetSchema("Tables")
' Display the contents of the table.
DisplayData(table)
Console.WriteLine("Press any key to continue.")
Console.ReadKey()
End Using
End Sub
Private Function GetConnectionString() As String
' To avoid storing the connection string in your code,
' you can retrieve it from a configuration file.
Return "..."
End Function
Private Sub DisplayData(ByVal table As DataTable)
For Each row As DataRow In table.Rows
For Each col As DataColumn In table.Columns
Console.WriteLine("{0} = {1}", col.ColumnName, row(col))
Next
Console.WriteLine("============================")
Next
End Sub
End Module
using System;
using System.Data;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = GetConnectionString();
using (SqlConnection connection = new SqlConnection(connectionString))
{
// Connect to the database then retrieve the schema information.
connection.Open();
DataTable table = connection.GetSchema("Tables");
// Display the contents of the table.
DisplayData(table);
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
}
}
private static string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file.
return "...";
}
private static void DisplayData(System.Data.DataTable table)
{
foreach (System.Data.DataRow row in table.Rows)
{
foreach (System.Data.DataColumn col in table.Columns)
{
Console.WriteLine("{0} = {1}", col.ColumnName, row[col]);
}
Console.WriteLine("============================");
}
}
}