Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: .NET Framework
.NET
.NET Standard
As classes SqlConnection no Microsoft SqlClient Data Provider para SQL Server implementam um método GetSchema que é usado para recuperar informação de esquema sobre a base de dados atualmente ligada, e a informação de esquema devolvida pelo método GetSchema surge sob a forma de um DataTable. O método GetSchema é um método sobrecarregado que fornece parâmetros opcionais para especificar a coleção de esquemas a devolver, restringindo a quantidade de informação devolvida.
Especificação das coleções de esquemas
O primeiro parâmetro opcional do método GetSchema é o nome da coleção, que é especificado como uma cadeia. Há dois tipos de coleções de esquema: coleções de esquema comuns que são comuns a todos os provedores e coleções de esquema específicas que são específicas para cada provedor.
Pode consultar o Microsoft SqlClient Data Provider para SQL Server para determinar a lista de coleções de esquemas suportadas chamando o método GetSchema sem argumentos, ou com o nome da coleção de esquemas "MetaDataCollections". Isso retornará uma DataTable com uma lista das coleções de esquema suportadas, o número de restrições que cada uma delas suporta e o número de partes de identificador que elas usam.
Exemplo de recuperação de coleções de esquemas
Os exemplos seguintes demonstram como usar o GetSchema método da classe Microsoft SqlClient Data Provider for SQL Server SqlConnection para recuperar informações de esquema de todas as tabelas contidas na base de dados de exemplo AdventureWorks :
using System;
using System.Data;
using Microsoft.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
string connectionString = "Data Source = localhost; Integrated Security = true; Initial Catalog = AdventureWorks";
using (SqlConnection connection = new SqlConnection(connectionString))
{
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 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("============================");
}
}
}