Compartir a través de


Método OpenSchema

Obtiene información de esquema de base de datos del proveedor.

Sintaxis

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

Valor devuelto

Devuelve un objeto Recordset que contiene información de esquema. El Recordset se abrirá como un cursor estático de solo lectura. QueryType determina qué columnas aparecen en el Recordset.

Parámetros

QueryType
Cualquier valor SchemaEnum que represente el tipo de consulta de esquema que se va a ejecutar.

Criterios
Opcional. Matriz de restricciones de consulta para cada opción QueryType, como se muestra en SchemaEnum.

SchemaID
GUID de una consulta de esquema de proveedor no definida por la especificación OLE DB. Este parámetro es necesario si QueryType se establece en adSchemaProviderSpecific; de lo contrario, no se usa.

Comentarios

El método OpenSchema devuelve información autodescriptiva sobre el origen de datos, como las tablas del origen de datos, las columnas de las tablas y los tipos de datos admitidos.

El argumento QueryType es un GUID que indica las columnas (esquemas) devueltas. La especificación OLE DB tiene una lista completa de esquemas.

El argumento Criteria limita los resultados de una consulta de esquema. Criteria especifica una matriz de valores que se deben producir en un subconjunto correspondiente de columnas, denominado columnas de restricción, en el Recordset resultante.

La constante adSchemaProviderSpecific se usa para el argumento QueryType si el proveedor define sus propias consultas de esquema no estándar fuera de las enumeradas anteriormente. Cuando se usa esta constante, se requiere el argumento SchemaID para pasar el GUID de la consulta de esquema que se va a ejecutar. Si QueryType se establece en adSchemaProviderSpecific pero no se proporciona SchemaID, se producirá un error.

No es necesario que los proveedores admitan todas las consultas de esquema estándar de OLE DB. En concreto, la especificación OLE DB requiere únicamente adSchemaTables, adSchemaColumns y adSchemaProviderTypes. Sin embargo, el proveedor no es necesario para admitir las restricciones Criteria enumeradas anteriormente para esas consultas de esquema.

Nota

Uso del servicio de datos remotos El método OpenSchema no está disponible en un objeto Connection del lado cliente.

Nota

En Visual Basic, las columnas que tienen un entero sin signo de cuatro bytes (DBTYPE UI4) en el Recordset devuelto por el método OpenSchema en el objeto Connection no se pueden comparar con otras variables. Para obtener más información sobre los tipos de datos OLE DB, vea Tipos de datos en OLE DB (OLE DB) y Apéndice A: Tipos de datos en la Referencia del programador de Microsoft OLE DB.

Nota

Usuarios de Visual C/C++ Cuando no se usan cursores del lado cliente, al recuperar el "ORDINAL_POSITION" de un esquema de columna en ADO se devuelve una variante de tipo VT_R8 en MDAC 2.7, MDAC 2.8 y Componentes de Windows Data Access (Windows DAC) 6.0, mientras que el tipo usado en MDAC 2.6 se VT_I4. Los programas escritos para MDAC 2.6 que solo buscan una variante devuelta de tipo VT_I4 obtendrían un cero para cada ordinal si se ejecuta en MDAC 2.7, MDAC 2.8 y Windows DAC 6.0 sin modificaciones. Este cambio se realizó porque el tipo de datos que devuelve OLE DB es DBTYPE_UI4 y, en el tipo de VT_I4 con signo, no hay espacio suficiente para contener todos los valores posibles sin que se produzca un truncamiento posible y, por tanto, se produzca una pérdida de datos.

Se aplica a

Objeto de conexión (ADO)

Consulte también

Ejemplo del método OpenSchema (VB)
Ejemplo del método OpenSchema (VC ++)
Open (método) (conexión de ADO)
Open (método) (registro de ADO)
Open (método) (conjunto de registros ADO)
Open (método) (Stream de ADO)
Apéndice A: Proveedores