Compartilhar via


Método OpenSchema

Obtém informações do esquema de banco de dados do provedor.

Sintaxe

  
Set recordset = connection.OpenSchema(QueryType, Criteria, SchemaID)  

Valor retornado

Retorna um objeto Recordset que contém informações de esquema. O Recordset será aberto como cursor estático somente leitura. O QueryType determina quais colunas são exibidas no Recordset.

Parâmetros

QueryType
Qualquer valor SchemaEnum que represente o tipo de consulta de esquema a ser executado.

Critérios
Opcional. Uma matriz de restrições de consulta para cada opção QueryType, conforme listado em SchemaEnum.

SchemaID
O GUID para uma consulta de esquema de provedor não definido pela especificação OLE DB. Esse parâmetro será necessário se QueryType foi como adSchemaProviderSpecific. Caso contrário, ele não será usado.

Comentários

O método OpenSchema retorna informações autodescritivas sobre a fonte de dados, por exemplo, quais tabelas estão na fonte de dados, as colunas nas tabelas e os tipos de dados com suporte.

O argumento QueryType é um GUID que indica as colunas (esquemas) retornadas. A especificação OLE DB tem uma lista completa de esquemas.

O argumento Criteria limita os resultados de uma consulta de esquema. Criteria especifica uma matriz de valores que devem ocorrer em um subconjunto correspondente de colunas, chamado de colunas de restrição, no Recordset resultante.

O adSchemaProviderSpecific constante será usado para o argumento QueryType, se o provedor definir suas próprias consultas de esquema não padrão diferentes das que foram listadas anteriormente. Quando essa constante é usada, o argumento SchemaID é necessário para passar o GUID da consulta de esquema a ser executada. Se QueryType foi como adSchemaProviderSpecific, mas SchemaID não foi fornecido, ocorrerá um erro.

Os provedores não são necessários para dar suporte a todas as consultas de esquema padrão OLE DB. Especificamente, apenas adSchemaTables, adSchemaColumns e adSchemaProviderTypes são exigidos pela especificação OLE DB. No entanto, o provedor não é necessário para dar suporte às restrições Criteria listadas anteriormente para essas consultas de esquema.

Observação

Uso do Serviço de Dados Remoto O método OpenSchema não está disponível em um objeto Connection do lado do cliente.

Observação

No Visual Basic, as colunas que têm um inteiro sem sinal de quatro bytes (DBTYPE UI4) no Recordset retornado pelo método OpenSchema no objeto Connection não podem ser comparadas com outras variáveis. Para obter mais informações sobre tipos de dados OLE DB, confira Tipos de Dados no OLE DB (OLE DB) e Apêndice A: Tipos de Dados na Referência do Programador Microsoft OLE DB.

Observação

Usuários do Visual C/C++ Quando os cursores do lado do cliente não são usados, recuperar o "ORDINAL_POSITION" de um esquema de coluna na ADO retorna uma variante do tipo VT_R8 no MDAC 2.7, MDAC 2.8 e Windows DAC (Windows Data Access Components) 6.0, enquanto o tipo usado no MDAC 2.6 foi VT_I4. Os programas gravados para o MDAC 2.6, que buscam apenas uma variante retornada do tipo VT_I4, obteriam um zero para cada ordinal, se executados em MDAC 2.7, MDAC 2.8 e Windows DAC 6.0, sem modificação. Essa alteração foi feita porque o tipo de dados que o OLE DB retorna é DBTYPE_UI4 e, no tipo de VT_I4 assinado, não há espaço suficiente para conter todos os valores possíveis, sem possivelmente ocorrer o truncamento e, assim, causar uma perda de dados.

Aplica-se A

Objeto Connection (ADO)

Consulte Também

Exemplo do método OpenSchema (VB)
Exemplo do método OpenSchema (VC++)
Método Open (conexão ADO)
Método Open (Registro do ADO)
Método Open (Conjunto de registros ADO)
Método Open (Fluxo do ADO)
Apêndice A: Provedores