OpenSchema (método)
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 de se abrirá como un cursor estático de solo lectura. El 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 de
GUID de una consulta de esquema de proveedor no definida por la especificación OLE DB. Este parámetro es necesario si QueryType está establecido en adSchemaProviderSpecific; de lo contrario, no se usa.
Observaciones
El método OpenSchema devuelve información autoscriptiva 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 deben producirse en un subconjunto correspondiente de columnas, denominados columnas de restricción, en el objeto 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.
Los proveedores no son necesarios para admitir todas las consultas de esquema estándar de OLE DB. En concreto, solo adSchemaTables, adSchemaColumnsy adSchemaProviderTypes son necesarios para la especificación OLE DB. Sin embargo, no es necesario que el proveedor admita las restricciones criterios de enumeradas anteriormente para esas consultas de esquema.
Nota
uso del servicio de datos remoto 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 objeto Recordset de devuelto desde 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, recuperar la "ORDINAL_POSITION" de un esquema de columna en ADO 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 obtenerí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 truncamiento posible y, por tanto, provocar una pérdida de datos.
Se aplica a
del objeto connection (ADO) de
Consulte también
Ejemplo del método OpenSchema (VB)
ejemplo de método OpenSchema (VC++)
Open (conexión ADO)
open (registro de ADO)
open (objeto Recordset de ADO)
open (secuencia de ADO)
Apéndice A: Proveedores