Partilhar via


Método OpenSchema

Obtém informações de 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 um cursor estático somente leitura. O QueryType determina quais colunas aparecem no conjunto de registros .

Parâmetros

queryType
Qualquer valor SchemaEnum que representa o tipo de consulta de esquema a ser executado.

critérios de
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 definida pela especificação OLE DB. Esse parâmetro será necessário se QueryType estiver definido como adSchemaProviderSpecific; caso contrário, ele não será usado.

Observações

O método OpenSchema retorna informações auto-descritivas sobre a fonte de dados, como 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 deve ocorrer em um subconjunto correspondente de colunas, chamadas colunas de restrição, no conjunto de registros resultante.

A constante adSchemaProviderSpecific é usada para o argumento QueryType se o provedor definir suas próprias consultas de esquema não padrão fora das listadas anteriormente. Quando essa constante é usada, o argumento SchemaID é necessário para passar o GUID da consulta de esquema a ser executada. Se QueryType estiver definido como adSchemaProviderSpecific, mas SchemaID não for fornecido, um erro resultará.

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

Nota

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

Nota

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

Nota

Usuários do Visual C/C++ Quando não estiverem usando cursores do lado do cliente, recuperar o "ORDINAL_POSITION" de um esquema de coluna no ADO retorna uma variante do tipo VT_R8 no MDAC 2.7, MDAC 2.8 e Windows DAC (Windows DAC) 6.0, enquanto o tipo usado no MDAC 2.6 foi VT_I4. Programas gravados para MDAC 2.6 que procuram 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 retornado pelo OLE DB é 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 truncamento e, assim, causar perda de dados.

Aplica-se a

do objeto de conexão (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)
do método Open (ADO Recordset)
do método Open (Fluxo do ADO)
apêndice A : provedores