Artigo: 309681 - Última revisão: quinta-feira, 1 de Julho de 2004 - Revisão: 3.4 Como obter informações de esquema utilizando GetOleDbSchemaTable e Visual C# .NET
Nesta páginaSumárioEste artigo demonstra como utilizar o método GetOleDbSchemaTable do objecto OleDbConnection no ADO.NET para obter informações de esquema de base de dados. Esquema informações numa origem de dados incluem bases de dados ou catálogos que estão disponíveis a partir da origem de dados, tabelas e vistas de uma base de dados, bem como restrições existentes e assim sucessivamente. Informações de esquema numa tabela incluem chaves primárias, colunas e campos de número automático. Note que nenhum método é equivalente a GetOleDbSchemaTable quando utiliza um objecto SqlClient.SqlConnection . O fornecedor de dados do SQL Server .NET expõe informações de esquema back-end através de procedimentos armazenados e vistas informativas. Para mais informações acerca de vistas e procedimentos armazenados que estão disponíveis através do Microsoft SQL Server, consulte a referência de Transact-SQL na MSDN Library. RequisitosA lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que necessita:
GetOleDbSchemaTable método do objecto OleDbConnectionO fornecedor de OLE DB .NET Data utiliza o método GetOleDbSchemaTable do objecto OleDbConnection para expor informações de esquema. GetOleDbSchemaTable devolve uma DataTable é povoado com as informações de esquema.O primeiro argumento de GetOleDbSchemaTable é o parâmetro de esquema, um argumento OleDbSchemaGuid que identifica as informações de esquema para devolver (tais como tabelas, colunas e as chaves primárias). O segundo argumento é uma matriz de objectos de restrições para filtrar as linhas que são devolvidas no esquema do DataTable (por exemplo, pode especificar restrições de nome, tipo, proprietário e /or os esquemas de tabela). OleDbSchemaGuid membrosO argumento OleDbSchemaGuid Especifica o tipo da tabela de esquema para o método GetOleDbSchemaTable . Alguns dos membros OleDbSchemaGuid incluem o seguinte:
RestriçõesAs restrições são uma matriz de objectos de valores de filtro, cada uma delas corresponde a um DataColumn no resultante DataTable . O argumento OleDbSchemaGuid determina as restrições relevantes. Por exemplo, quando especifica um OleDbSchemaGuid das tabelas, a matriz de restrições é:{TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE} Para rever as restrições disponíveis, clique em qualquer dos membros OleDbSchemaGuid no seguinte Web site da Microsoft: OleDbSchemaGuid membros Quando passar valores na matriz de restrição, inclua a palavra-chave de Nulo Visual C# .NET para elementos de matriz que não contêm valores. Por exemplo, se pretender obter tabela de esquemas, utilize OleDbSchemaGuid.Tables . No entanto, se especificar tabelas, esta também devolve aliases, sinónimos, vistas e outros objectos relacionados. Assim, se pretender filtrar todos os objectos excepto tabelas, utilize uma restrição de TABLE para TABLE_TYPE. Pode utilizar um valor nulo para TABLE_CATALOG TABLE_SCHEMA e TABLE_NAME porque não está a filtrar estes objectos: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdataoledboledbschemaguidmemberstopic.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdataoledboledbschemaguidmemberstopic.asp) DataTable devolvidoO DataTable método GetOleDbSchemaTable devolve tem uma linha para cada objecto que cumpre o tipo de OleDbSchemaGuid e os critérios de restrição. DataTable tem uma coluna para cada uma das colunas de restrição, é seguido de informações de esquema adicionais com base no campo OleDbSchemaGuid .Por exemplo, quando utiliza o código seguinte, cada linha no DataTable devolvida é uma tabela de base de dados: Para obter esta lista de nomes de coluna (ou seja, os campo descritores, tais como TABLE_CATALOG TABLE_SCHEMA e TABLE_NAME), pode utilizar a posição ordinal das colunas. Note que a matriz de colunas é baseado em zero: Criar uma base de dados exemplo que lista de tabelasO exemplo que se segue lista tabelas da base de servidor SQL da base de dados.OleDbSchemaGuid.Tables devolve essas tabelas (incluindo as vistas) que estão acessíveis para uma determinada sessão. Se especificar uma matriz de objectos de {nulo, nulo, nulo, "TABLE"}, filtrar para incluir apenas uma TABLE_TYPE da tabela. Em seguida, listar a tabela de nomes (TABLE_NAME) de cada linha na tabela de esquema devolvido.
Criar o exemplo que obtém o esquema para uma tabelaO exemplo que se segue lista informações de esquema para os empregados tabela da base de dados SQL Server Adamastor.OleDbSchemaGuid.Tables devolve essas tabelas (incluindo as vistas) que estão acessíveis para uma determinada sessão. Se especificar uma matriz de objectos de {nulo, nulo, "Empregados", "TABLE"}, filtrar para incluir apenas uma tabela Empregados. Em seguida, lista as informações de esquema para a tabela de esquema devolvido.
Criar o exemplo que listas de colunas numa tabelaA lista de exemplo seguintes nomes de colunas as empregados da tabela da base de dados SQL Server Adamastor.OleDbSchemaGuid.Columns devolve essas colunas de tabelas e vistas que são acessíveis para uma determinada sessão. Se especificar uma matriz de objectos de nulo, nulo, "Empregados", nulo, filtrar para incluir apenas as colunas da tabela Empregados.
Criar o exemplo que lista as chaves primárias numa tabelaAs listas de exemplo seguinte as chaves primárias dos empregados tabela na base de servidor de SQL da base de dados e do empregado da tabela na base de dados Pubs do SQL Server.OleDbSchemaGuid.Primary_Keys devolve as chaves primárias de um catálogo que são acessíveis para uma determinada sessão. Neste exemplo, OleDbConnection é para o SQL Server, mas não a uma base de dados específico do SQL Server: Para obter a chave primária da tabela Empregados na base de dados Adamastor, pode utilizar uma matriz de objectos de {"Adamastor", "dbo", "Empregados"}:
ReferênciasPara obter uma lista completa dos membros OleDbSchemaGuid , consulte o tópico seguinte no Microsoft .NET documentação Framework Software Development Kit (SDK). Para uma lista de restrições disponíveis, clique em qualquer dos membros OleDbSchemaGuid : OleDbSchemaGuid membros Para obter mais informações, consulte os seguintes tópicos no .NET Framework SDK documentação: http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbschemaguid_members.aspx (http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbschemaguid_members.aspx) Obter informações sobre o esquema de uma base de dados http://msdn.microsoft.com/en-us/library/kcax58fh.aspx (http://msdn.microsoft.com/en-us/library/kcax58fh.aspx) Método OleDbConnection.GetOleDbSchemaTable http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbconnection.getoledbschematable.aspx (http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbconnection.getoledbschematable.aspx) Campo OleDbSchemaGuid.Tables http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbschemaguid.tables.aspx (http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbschemaguid.tables.aspx) Campo OleDbSchemaGuid.Columns http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbschemaguid.columns.aspx (http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbschemaguid.columns.aspx) Campo OleDbSchemaGuid.Primary_Keys http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbschemaguid.primary_keys.aspx (http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbschemaguid.primary_keys.aspx) A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 309681
(http://support.microsoft.com/kb/309681/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo