Introducción

Vea también

Microsoft ODBC Desktop Database Drivers 3.5 le permite abrir y consultar una base de datos mediante la interfaz de Open Database Connectivity (ODBC). Estos controladores trabajan con ODBC 2.5, pero se incluyen en ODBC 3.x. Los controladores se han diseñado para utilizarlos con Microsoft Windows 95 o posterior, o Windows NT 3.51 o posterior. Windows 95 o posterior sólo admite aplicaciones de 32 bits; mientras que Windows NT 3.51 o posterior admite las de 16 y 32 bits.

Nota   Para obtener información acerca de la versión de ODBC que hay que utilizar con estos controladores, consulte ODBC 2.0 Programmer’s Reference y SDK Guide y las notas hasta la versión 2.5 de ODBC. El ODBC 3.0 Programmer’s Reference no se debe utilizar como material de referencia para temas relacionados con estos controladores.

Los controladores de ODBC Desktop Database incluyen controladores de 32 bits para Microsoft Access, dBASE, Microsoft Excel, Microsoft FoxPro, Paradox y Texto. No se incluyen controladores de 16 bits. (El controlador de Microsoft FoxPro 3.0 se encuentra disponible de forma independiente.)

La arquitectura de la aplicación/controlador en Windows 95 o posterior es:

Aplicación (32 bits)
|
Administrador de controladores ODBC
(ODBC32.DLL)
|
Controlador ODBC Desktop Database
(ODBCJT32.DLL, MSJET35.DLL, controlador ISAM de 32 bits)
|
base de datos

Estos controladores no son compatibles con su utilización por parte de aplicaciones de 16 bits en Windows 95.

La arquitectura de la aplicación/controlador en Windows NT 3.51 o posterior es:

Aplicación (16 bits)	     Aplicación (32 bits)

|	|
Administrador de controladores ODBC
(ODBC.DLL)
|	|
DLL de 16 bits de ODBC Generic Thunking
(ODBC16GT.DLL)
|	|
DLL de 32 bits de ODBC Generic Thunking
(ODBC32GT.DLL)
|	|
Administrador de controladores ODBC
(ODBC32.DLL)
|	|
Controlador ODBC Desktop Database
(ODBCJT32.DLL, MSJET35.DLL, controlador ISAM de 32 bits)

|
base de datos


Archivos de controlador ISAM

Vea también

Los controladores ODBC Desktop Database 3.5 incluyen archivos ISAM (Método de acceso secuencial indizado). Estos archivos se describen a continuación:

Driver	ISAM de 32 bits	Versiones
Microsoft Access	Ninguno (Incluido en MSJET35.DLL)	Microsoft Access versiones 7.0 y 97
Microsoft Access	MSRD2X35.DLL	Microsoft Access versiones 1.0, 1.1, 2.0
dBase	MSXBSE35.DLL	dBase versiones III, IV y V (dBASE para Windows)
Microsoft Excel	MSEXCL35.DLL	Microsoft Excel versiones 3.0, 4.0, 5.0, 7.0, 97 (1)
Microsoft FoxPro	MSXBSE35.DLL	Microsoft FoxPro versiones 2.0, 2.5, 2.6
Paradox	MSPDOX35.DLL	Paradox versiones 3.5, 4.0, 4.5, 5.x (Paradox para Windows)
Text	MSTEXT35.DLL	Texto ASCII

1	El controlador de Microsoft Excel no es capaz de leer archivos de Microsoft Excel cuyo formato sea anterior a la versión 3.0. Estos archivos se pueden abrir en una versión posterior de Microsoft Excel y guardar con un formato de la versión 3.0, 4.0, 5.0, 7.0 ó 97 que el controlador sea capaz de leer.

Microsoft FoxPro 3.0

Los controladores ODBC Desktop Database no incluyen ningún controlador para Microsoft FoxPro 3.0 y tampoco admiten acceso a los archivos de Microsoft FoxPro 3.0 . Para tener acceso a estos archivos se ha de utilizar el controlador de Microsoft FoxPro 3.0.


Archivos de componentes de ODBC

Vea también

La siguiente tabla presenta una lista con los archivos requeridos por cada uno de los componentes de los controladores ODBC Desktop Database 3.5. Estos archivos se encuentran en el directorio \Windows\System de Windows 95 o posterior o en el directorio \Windows\System32 de Windows NT 3.51 o posterior. De haber instalado con anterioridad los archivos de ODBC en otro directorio, asegúrese de utilizar los archivos más recientes del directorio \Windows\System(o System32).

Algunos archivos son requeridos por más de un componente. Si pretende distribuir cualquiera de los controladores ODBC Desktop Database con su aplicación comercial, también deberá distribuir estos archivos.

Los siguientes archivos son comunes a todos los controladores ODBC Desktop Database 3.5.

DS16GT.DLL DS32GT.DLL MSJINT35.DLL MSJET35.DLL MSJTER35.DLL MSVCRT40.DLL ODBC16GT.DLL ODBC32.DLL ODBC32GT.DLL ODBCCP32.cpl ODBCCP32.DLL  ODBCCR32.DLL ODBCINST.CNT	ODBCINST.hlp ODBCINT.dll  ODBCJET.hlp ODBCJET.cnt  ODBCJI32.dll ODBCJT32.dll ODBCJTNW.hlp ODBCJTNW.cnt ODBCTL32.dll  VBAJET32.dll VBAR332.dll ODBCTRAC.dll
Los siguientes archivos son exclusivos de cada controlador:

Driver	Archivo
Microsoft Access	MSRD2X35.DLL
dBASE	MSXBSE35.DLL ODDBSE32.DLL
Microsoft Excel	MSEXCL35.DLL ODEXL32.DLL
Microsoft FoxPro	MSXBSE35.DLL ODFOX32.DLL
Paradox	MSPDOX35.DLL ODPDX32.DLL
Text	MSTEXT35.DLL ODTEXT32.DLL


Requisitos de hardware y software

Requisitos de hardware

Para utilizar los controladores ODBC Desktop Database, se ha de disponer de:

•	PC compatible con IBM.

•	Un disco duro con 6 MB de espacio libre.

•	Un mínimo de 16 MB de memoria de acceso aleatorio (RAM).

Requisitos de software

Para tener acceso a datos con el controlador ODBC, debe disponer de:

•	El controlador ODBC.

•	El Administrador de controladores ODBC de 32 bits, versión 3.0 o posterior (ODBC32.DLL). Observe que este archivo se incluye en los controladores ODBC Desktop Database.

•	Microsoft Windows 95 o posterior, o Windows NT 3.51 o posterior.

•	El tamaño de pila para una aplicación en la que se utilice un controlador de Microsoft ODBC debe ser, al menos, de 20K.

Al utilizar Microsoft Windows NT 3.51 o posterior, el controlador de 32 bits admite subprocesamiento, pero sólo si se utiliza un semáforo global que controle el acceso al controlador. La utilización concurrente del controlador quedará muy limitada bajo Windows NT. Cualquier acceso a la capa Jet ISAM se procesará individualmente para todas las aplicaciones que utilicen la máquina Microsoft Jet.

Cuando se ejecuten varias aplicaciones de 16 bits en Windows sobre Windows (WOW) de Microsoft Windows NT 3.51 o 4.0, dichas aplicaciones se han de ejecutar en espacios de memoria independientes. (No se puede utilizar el mismo espacio de memoria ya que ODBC no admite varios entornos en el mismo proceso). Para ejecutar una aplicación en un espacio de memoria independiente, seleccione el icono de la aplicación en el Administrador de programas de Microsoft Windows NT, elija el comando Archivo, Propiedades y, a continuación, seleccione Ejecutar en espacio de memoria separado.

Estos controladores no son compatibles con su utilización por parte de aplicaciones de 16 bits en Windows 95.

Requisitos de hardware y de software específicos del controlador

•	Es posible que el controlador de Microsoft Access, dBASE y Microsoft FoxPro requiera cambios en los archivos CONFIG.SYS o AUTOEXEC.BAT.


Cambios en CONFIG.SYS y AUTOEXEC.BAT

Si trabaja con el controlador ODBC de Microsoft Access en Microsoft Windows 95 (no en Microsoft Windows NT) y no tiene instalado Microsoft Access en su equipo, agregue la línea "FILES= 50" al archivo CONFIG.SYS.


Instalar los controladores

1	Haga doble clic en el icono Panel de control y, en la ventana Panel de control, haga doble clic en el icono ODBC (o abra directamente el Administrador de ODBC).

2	Seleccione el botón Controladores ODBC.

Ya no se podrán agregar o eliminar más controladores desde el Panel de control o desde el Administrador. Los botones Agregar y Eliminar han desaparecido de la ficha Controladores  ODBC. Sólo se pueden agregar o eliminar controladores durante la instalación de los controladores ODBC Desktop Database.


Agregar un origen de datos

Vea también

1	Haga doble clic en el icono del Panel de control. En la ventana Panel de control, haga doble clic en el icono ODBC.

2	Seleccione la ficha DSN de usuario, DSN de sistema o DSN de archivo.

3	Elija el botón Agregar.

4	En el cuadro de diálogo Crear nuevo origen de datos, seleccione un nombre de controlador y siga las instrucciones del asistente.


Modificar un origen de datos

1	Haga doble clic en el icono del Panel de control. En la ventana Panel de control, haga doble clic en el icono ODBC.

2	Seleccione la ficha DSN de usuario, DSN de sistema o DSN de archivo, dependiendo del tipo de origen de datos a modificar.

3	Seleccione el origen de datos de la lista. Si se modifica un DSN de archivo, encuentre el directorio adecuado en el cuadro Buscar en (utilice el control Subir un nivel si lo necesita), después seleccione el origen de datos del directorio.

4	Elija el botón Configurar y configure el origen de datos que necesita.


Eliminar un origen de datos

1	Haga doble clic en el icono del Panel de control. En la ventana Panel de control, haga doble clic en el icono ODBC.

2	Seleccione la ficha DSN de usuario, DSN de sistema o DSN de archivo, dependiendo del tipo de origen de datos a modificar.

3	Seleccione el origen de datos de la lista. Si se modifica un DSN de archivo, encuentre el directorio adecuado en el cuadro Buscar en (utilice el control Subir un nivel si lo necesita), después seleccione el origen de datos del directorio.

4	Haga clic en el botón Quitar y, a continuación, haga clic en el botón Sí para confirmar la eliminación.


Convertir un origen de datos

Los orígenes de datos de 32 bits que se usan con la versión 2.0 de controladores ODBC Desktop Database se convierten automáticamente en orígenes de datos nuevas de 32 bits para los controladores de la versión 3.5. No se proporciona conversión para los orígenes de datos de 16 bits. Para cambiar un origen de datos de 16 bits a uno de 32 bits, cree un nuevo origen de datos de 32 bits y, a continuación (opcional), elimine el origen de datos antiguo de 16 bits. Un origen de datos de 32 bits y uno de 16 no pueden compartir el mismo nombre.


Agregar, modificar o eliminar un origen de datos dinámicamente

Vea también

Puede llamar a la función SQLConfigDataSource para agregar, modificar o eliminar un origen de datos de forma dinámica. Esta función utiliza palabras clave para establecer opciones de conexión que se establecen por medio del cuadro de diálogo Instalación cuando se conecta a través del Panel de control. Esta función se debe utilizar cuando quiera agregar, modificar o eliminar un origen de datos sin mostrar el cuadro de diálogo Instalación.


Soporte técnico

El soporte técnico para ODBC lo suministra el Servicio de soporte técnico de Microsoft. Teniendo en cuenta que muchos productos Microsoft usan ODBC como componente central y también redistribuyen controladores ODBC, el Servicio de soporte técnico considera que ODBC forma parte de cualquier producto que tenga el usuario que incorpore ODBC como componente. El soporte para ODBC se suministra conforme al acuerdo de soporte de ese producto. Cada uno de estos productos Microsoft tiene su propia oferta de soporte, como se describe en la documentación que viene con el producto. Consulte esta documentación para determinar qué opciones de soporte están disponibles.


Cuadro de diálogo Instalación de ODBC

El cuadro de diálogo Instalación de ODBC contiene los siguientes campos. Observe que la mayoría de estas opciones también se pueden instalar de forma dinámica llamando a SQLConfigDataSource mediante la utilización de palabras clave.

Número aproximado de filas

Tamaño de búfer

Secuencia de ordenación

Nombre del origen de datos

Base de datos

Definir formato

Descripción

Directorio

Exclusivo

Lista de extensiones

ImplicitCommitSync

Estilo de red

Tiempo de espera de página

De sólo lectura

Filas a explorar

Seleccionar directorio

Seleccionar índices

Seleccionar directorio de red

Seleccionar libro de trabajo

Mostrar filas eliminadas

Orden

Base de datos del sistema

Subprocesos

Usar directorio actual

UserCommitSync

Nombre de usuario

Versión


Número aproximado de filas

(Este control sólo aparece en los controladores de dBASE y Microsoft FoxPro).

Determina si las estadísticas del tamaño de la tabla son aproximadas. Observará que esta opción se aplica a todos los orígenes de datos que utilizan el controlador de ODBC. Para establecer esta opción dinámicamente, utilice la palabra clave STATISTICS en una llamada a SQLConfigDataSource.


Tamaño de búfer

(Este control sólo aparece en el controlador de Microsoft Access.)

El tamaño del búfer interno, en kilobytes, que utiliza Microsoft Access para transferir datos a o desde el disco. El tamaño predeterminado es 512 KB (visualizado como 512). Se puede escribir cualquier valor entero divisible entre 256. Para establecer esta opción dinámicamente, utilice la palabra clave MAXBUFFERSIZE en una llamada a SQLConfigDataSource.


Secuencia de ordenación

(Este control sólo aparece en los controladores de dBASE, Microsoft FoxPro y Paradox).

La secuencia en la que se ordenan los campos.

Cuando se utiliza el controlador de dBASE o de Microsoft FoxPro, la secuencia puede ser: ASCII (el valor predeterminado) o internacional.

Cuando se usa el controlador de Paradox, la secuencia puede ser: ASCII (el valor predeterminado), internacional, sueco-finlandés o noruego-danés.

Para establecer esta opción dinámicamente, utilice la palabra clave COLLATINGSEQUENCE en una llamada a SQLConfigDataSource.


Nombre del origen de datos

Nombre que identifica el origen de datos, como por ejemplo Nómina o Personal.

Para establecer esta opción dinámicamente, utilice la palabra clave DSN en una llamada a SQLConfigDataSource.


Base de datos

Vea también

(Este control sólo aparece en el controlador de Microsoft Access.)

La ruta de acceso completa de la base de datos de Microsoft Access a la que quiera acceder. Utilice el botón Seleccionar para seleccionar una base de datos ya existente. Utilice el botón Crear para crear y seleccionar una base de datos de Microsoft Access nueva.

Se puede instalar un origen de datos de Microsoft Access sin seleccionar o crear una base de datos. Si no se ha incluido ninguna base de datos en la instalación, se pedirá al usuario que elija un archivo de base de datos cuando conecte con el origen de datos.

Utilice el botón Reparar para reparar una base de datos dañada. Utilice el botón Compactar para compacta una base de datos.

Para establecer esta opción dinámicamente, utilice la palabra clave DBQ en una llamada a SQLConfigDataSource.


Definir formato

Vea también

(Este control sólo aparece en el controlador de Texto).

Muestra el cuadro de diálogo Definir formato de texto y le permite especificar en el directorio de origen de datos el esquema para tablas individuales.

Esta opción no se puede establecer de forma dinámica mediante una llamada a SQLConfigDataSource.


Descripción

Una descripción opcional de los datos en el origen de datos; por ejemplo, "fecha de alquiler, historial del salario y revisión actual de todos los empleados".

Para establecer esta opción dinámicamente, utilice la palabra clave DESCRIPTION en una llamada a SQLConfigDataSource.


Directorio

Muestra el directorio actualmente seleccionado. Antes de agregar un origen de datos, debe utilizar el botón Seleccionar directorio para seleccionar un directorio o seleccionar la casilla de verificación Usar directorio actual para utilizar el directorio de trabajo actual de la aplicación. (Esto no es aplicable al controlador de Microsoft Access).

En el caso de los archivos de Microsoft Excel 3.0/4.0, la pantalla de ruta de acceso tiene la etiqueta "Directorio", mientras que en el caso de los archivos de Microsoft Excel 5.0, 7.0 ó 97, la pantalla de ruta de acceso tiene la etiqueta "Libro de trabajo".

Para establecer esta opción dinámicamente, utilice la palabra clave DEFAULTDIR (DIRECTORIO PREDETERMINADO) en una llamada a SQLConfigDataSource.


Exclusivo

(Este control sólo aparece en los controladores de dBASE, Microsoft Access, Microsoft FoxPro y Paradox).

Si está seleccionada la casilla Exclusivo, la base de datos se abrirá en modo Exclusivo y sólo podrá tener acceso a ella un usuario cada vez. Si la casilla Exclusivo está desactivada, la base de datos se abrirá en modo Compartido y podrá tener acceso a ella más de un usuario. El funcionamiento se mejora cuando se ejecuta en modo Exclusivo.

Para establecer esta opción de forma dinámica, utilice la palabra clave EXCLUSIVE en una llamada a SQLConfigDataSource.


Lista de extensiones

(Este control sólo aparece en el controlador de Texto).

Presenta en una lista las extensiones de los archivos de texto en el origen de datos. Para utilizar todos los archivos del directorio, active la casilla de verificación Predeterminado (*.*). Para utilizar solamente aquellos archivos que tengan determinadas extensiones, desactive la casilla de verificación Predeterminado (*.*) y agregue la extensión que desee utilizar. Cuando Predeterminado (*.*) se encuentra desactivado, los valores predeterminados de la lista de extensiones son *.asc, *.csv, *.tab y *.txt.

Para agregar una extensión, tecléela en el cuadro Extensión y haga clic en el botón Agregar. La extensión debe utilizar el formato *.xxx. Por ejemplo, para utilizar archivos .DAT, escriba la extensión *.DAT. Para quitar una extensión, selecciónela en la lista Extensiones y haga clic en el botón Quitar. Quitar todas las extensiones es como activar la casilla de verificación Predeterminado (*.*): aparecerán todos los archivos.

Cuando se usa el controlador de Texto, se crea un archivo sin extensión cuando se ejecuta la instrucción CREATE TABLE con un nombre que no tenga extensión. Si no se proporciona ninguna extensión, los restantes controladores crean un archivo con extensión predeterminada. Para crear una archivo con extensión .TXT, ésta se debe incluir en el nombre. Para mostrar archivos sin extensiones hay que añadir  "*." a la Lista de extensiones en el cuadro de diálogo Definir formato de texto.

Para establecer esta opción dinámicamente, utilice la palabra clave EXTENSIONS en una llamada a SQLConfigDataSource.


ImplicitCommitSync

(Este control sólo aparece en el controlador de Microsoft Access.)

Determina cómo se escriben en la base de datos los cambios realizados fuera de una transacción. Este valor se establece inicialmente como "Sí", lo que significa que el controlador de Microsoft Access esperará ocurrencias en una transacción interna/implícita para completarse.

Esta opción está incluida en el cuadro de diálogo Opciones avanzadas para el controlador de Microsoft Access.


Estilo de red

(Este control sólo aparece en el controlador de Paradox).

El estilo de acceso a red que se utiliza al tener acceso a datos de Paradox : "3.x" para Paradox 3.x ó "4.x" para Paradox 4.x ó 5.x. Se puede establecer en "3.x" ó "4.x" si la versión es Paradox 4.x ó 5.x; si la versión es Paradox 3.x, el estilo debe ser "3.x".

Para establecer esta opción dinámicamente, utilice la palabra clave PARADOXNETSTYLE en una llamada a SQLConfigDataSource.


Tiempo de espera de página

(Este control sólo aparece en los controladores de dBASE, Microsoft Access, Microsoft FoxPro y Paradox).

Especifica el periodo de tiempo, en décimas de segundo, que permanece en el búfer una página (si no se utiliza) antes de quitarla. En el caso del controlador de Microsoft Access, la opción predeterminada es de cinco décimas de segundo (0,5 segundos). En el caso de los controladores de dBASE, Microsoft FoxPro, y Paradox , la opción predeterminada es de 600 décimas de segundo (60 segundos). Observará que esta opción se aplica a todos los orígenes de datos que utilizan el controlador de ODBC.

La duración de página no puede ser 0 debido a un retraso inherente. La duración de página no puede ser menor que el retraso inherente, incluso si la opción se establece por debajo de ese valor.

Para establecer esta opción de forma dinámica, utilice la palabra clave PAGETIMEOUT en una llamada a SQLConfigDataSource.


Sólo lectura

Designa la base de datos como de sólo lectura.

Para establecer esta opción dinámicamente, utilice la palabra clave READONLY en una llamada a SQLConfigDataSource.


Filas a explorar

(Este control sólo aparece en los controladores de Microsoft Excel y Text)

El número de filas que se comprobarán para determinar el tipo de datos de cada columna. El tipo de datos se determina teniendo en cuenta el número máximos de tipos de datos hallados. Si se encuentran datos que no coincidan con el tipo de datos que se supone que debe haber en la columna, el tipo de datos será devuelto con valor NULL.

En el caso del controlador de Microsoft Excel, se puede introducir un número del 1 al 16 como las filas a comprobar. El valor predeterminado es 8. Si establece el valor 0, se explorarán todas las columnas. (Un número fuera de este límite devolverá un error).

Para el controlador de Texto, se puede introducir un número del 1 al 32767 como número de filas a comprobar; sin embargo, el valor predeterminado siempre será el 25 (cualquier número no comprendido en el límite devolverá un mensaje de error).

Para establecer esta opción de forma dinámica, utilice la palabra clave MAXSCANROWS en una llamada a SQLConfigDataSource.


Seleccionar directorio

(Este control sólo aparece en los controladores de dBASE, Microsoft Excel 3.0/4.0, Microsoft FoxPro, Paradox y Texto).

Muestra un cuadro de diálogo en el que se puede seleccionar un directorio que contenga los archivos a los que se desee tener acceso.

Al definir un directorio de origen de datos (para todos los controladores excepto el de Microsoft Access), especifique el directorio en el que se encuentren los archivos que utilice con más frecuencia. El controlador ODBC utiliza este directorio como directorio predeterminado. Si utiliza otros archivos con frecuencia, cópielos en este directorio. De forma alternativa, puede calificar nombres de archivo en una instrucción SELECT con el nombre del directorio:

SELECT * FROM C:\MYDIR\EMP

o, puede especificar un directorio predeterminado nuevo utilizando la función SQLSetConnectOption con la opción SQL_CURRENT_QUALIFIER.

Cuando se usa el controlador de Microsoft Access, puede utilizar el valor DefaultDir en el cuadro de diálogo Opciones avanzadas para definir un directorio predeterminado, ya que puede crear un origen de datos sin un archivo .MDB correspondiente.

Pantallas de ruta de acceso de Directorio y Libro de trabajo (Microsoft Excel)

Para los archivos de Microsoft Excel 3.0 ó 4.0 , la pantalla de ruta de acceso tiene la etiqueta "Directorio" y el botón de selección de ruta de acceso tiene la etiqueta "Seleccionar directorio". En el caso de archivos de Microsoft Excel 5.0, 7.0 ó 97, la pantalla de ruta de acceso tiene la etiqueta "Libro de trabajo" y el botón de selección de ruta de acceso tiene la etiqueta "Seleccionar libro de trabajo". Al definir un directorio de origen de datos, especifique el directorio en el que estén ubicados los archivos de Microsoft Excel que utilice con más frecuencia para Microsoft Excel 3.0/4.0 ó el directorio en el que se encuentre ubicado el archivo de libro de trabajo para Microsoft Excel 5.0, 7.0 ó 97. El control Usar directorio actual se encuentra desactivado para Microsoft Excel 5.0, 7.0 ó 97.

Para establecer esta opción dinámicamente, utilice la palabra clave DEFAULTDIR (DIRECTORIO PREDETERMINADO) en una llamada a SQLConfigDataSource.


Seleccionar índices

Vea también

(Este control sólo aparece en los controladores de dBASE y Microsoft FoxPro).

Muestra el cuadro de diálogo Seleccionar índices, en el que puede asociar los archivos de dBASE o de Microsoft FoxPro con archivos índice. El cuadro de diálogo Seleccionar índices contiene los siguientes campos.

Tablas

Muestra una lista de los archivos en los datos seleccionados actualmente.

Índices

Muestra los índices asignados al archivo seleccionado actualmente en la lista Tablas.

Lista de archivos de tipo

Muestra los tipos de archivos que aparecen en la lista Indexes y le permite elegirlos.

Para asociar un índice con una tabla

1	Seleccione un archivo de la lista Tablas.

2	Seleccione un índice de la lista Índices.

3	Haga clic en Aceptar para guardar las asociaciones tabla/índice.

Nota   Los índices de dBASE III o los de Microsoft FoxPro 2.0 se tienen que asignar mediante este cuadro de diálogo para que así los reconozca el controlador.

Nota   Los controladores ODBC de dBASE y de Microsoft FoxPro no admiten archivos de índice de Clipper .NTX.

Esta opción no se puede establecer de forma dinámica mediante una llamada a SQLConfigDataSource.


Seleccionar directorio de red

(Este control sólo aparece en el controlador de Paradox).

La ruta completa del directorio que contiene una base de datos bloqueada de Paradox, ya que contiene el archivo PDOXUSRS.NET (en Paradox 4.x) o PARADOX.NET (en Paradox 5.x). Si el directorio no contiene uno de estos archivos, el controlador de Paradox crea uno. Para más información sobre estos archivos, consulte la documentación sobre Paradox.

Antes de poder seleccionar un directorio de red, debe introducir su nombre de usuario de Paradox en la casilla de verificación Nombre de usuario. Utilice el botón Seleccionar directorio de red para seleccionar un directorio de red.

Para establecer esta opción dinámicamente, utilice la palabra clave PARADOXNETPATH (RUTADEREDPARADOX) en una llamada a SQLConfigDataSource.


Seleccionar libro de trabajo

(Este control sólo aparece en Microsoft Excel 5.0, 7.0 ó 97.)

En el caso de los archivos de Microsoft Excel 5.0, 7.0 ó 97, esta opción muestra el libro seleccionado en ese momento. Antes de agregar el origen de datos, debe utilizar el botón Seleccionar libro de trabajo para seleccionar un directorio.

Las hojas de cálculo dentro de los libros de trabajo se tratan como SYSTEM TABLES. A los rangos definidos o con nombre dentro de una hoja de cálculo se les trata como TABLES.


Mostrar filas eliminadas

(Este control sólo aparece en los controladores de dBASE y Microsoft FoxPro).

Especifica si las filas que se han marcado como eliminadas se pueden o no recuperar o ubicar. Si no se han marcado, no aparecen las filas eliminadas; si se han marcado, las filas eliminadas se tratan como si no hubieran sido eliminadas. El valor predeterminado es no marcado.

Para establecer esta opción dinámicamente, utilice la palabra clave DELETED en una llamada a SQLConfigDataSource.


Orden

(Este control sólo aparece en el controlador de Microsoft Access.)

Establece un tipo de orden predeterminado para la base de datos. Puede ser:

General (inglés, francés, alemán, portugués, italiano), español tradicional, holandés, sueco/finlandés, noruego/danés, islandés, checo, húngaro, polaco, ruso, turco, árabe, hebreo, griego, japonés, coreano, taiwanés, chino. Base de datos del sistema

Esta opción no se puede establecer de forma dinámica mediante una llamada a SQLConfigDataSource.


Base de datos del sistema

(Este control sólo aparece en el controlador de Microsoft Access.)

La ruta completa de la base de datos del sistema de Microsoft Access que se vaya a utilizar con la base de datos de Microsoft Access a la que desee tener acceso.

Seleccione el botón de la opción Base de datos del sistema para seleccionar la base de datos del sistema a utilizar. El controlador ODBC de Microsoft Access solicita al usuario un nombre y una contraseña. El nombre predeterminado es Admin y la contraseña predeterminada en Microsoft Access para el usuario Admin es una cadena vacía.

Para aumentar la seguridad de una base de datos de Microsoft Access, cree un usuario nuevo para reemplazar y eliminar el usuario Admin o cambiar los objetos a los que tiene acceso el usuario Admin.

Seleccione el botón de la opción None si no va a utilizar ninguna base de datos del sistema. Seleccione el botón de la opción None para conectarse con la base de datos de Microsoft Access como usuario Admin; no se utilizará ninguna base de datos del sistema.

Para establecer esta opción de forma dinámica, utilice la palabra clave SYSTEMDB en una llamada a SQLConfigDataSource.

Para obtener más información acerca de las bases de datos de sistema y el usuario Admin, consulte la documentación de Microsoft Access.


Subprocesos

(Este control sólo aparece en el controlador de Microsoft Access.)

El número de subprocesos en segundo plano que utiliza la máquina. En el caso del controlador de Microsoft Access, el valor predeterminado es 3, pero se puede cambiar. Si hay una gran cantidad de actividad en la base de datos, es posible que el usuario desee aumentar el número de subprocesos.

Esta opción está incluida en el cuadro de diálogo Opciones avanzadas para el controlador de Microsoft Access.

Para establecer esta opción dinámicamente, utilice la palabra clave THREADS en una llamada a SQLConfigDataSource.


Usar directorio actual

(Este control sólo aparece en los controladores de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox y Text).

Cuando está seleccionado, hace del directorio de trabajo actual de la aplicación el directorio origen de datos y desactiva la opción Seleccionar directorio. Cuando está borrado, permite seleccionar el directorio origen de datos mediante la utilización de la opción Seleccionar directorio.

En Microsoft Excel 5.0, 7.0 ó 97, el control Usar directorio actual está desactivado.


UserCommitSync

(Este control sólo aparece en el controlador de Microsoft Access.)

Determina si el controlador de Microsoft Access realizará una transacción explícita definida por el usuario de forma asíncrona. Este valor se establece inicialmente en "Sí", lo que significa que el controlador de Microsoft Access esperará a que finalicen las ocurrencias de una transacción definida por el usuario.

En un entorno multiusuario, si establece esta opción como False es posible que sea testigo de consecuencias imprevisibles.

Esta opción está incluida en el cuadro de diálogo Opciones avanzadas para el controlador de Microsoft Access.

Para establecer esta opción dinámicamente, utilice la palabra clave USERCOMMITSYNC en una llamada a SQLConfigDataSource.


Nombre de usuario

(Este control sólo aparece en el controlador de Paradox).

El nombre de usuario de Paradox. Éste es el nombre que se muestra a otros usuarios de archivos Paradox cuando se encuentran con un bloqueo.

Para establecer esta opción dinámicamente, utilice la palabra clave PARADOXUSERNAME en una llamada a SQLConfigDataSource.


Versión

Un control de selección que le permite seleccionar la versión de los archivos usados, por ejemplo, dBASE III, dBASE IV o dBASE 5.0 en el caso del controlador de dBASE.


Seleccionar una base de datos

Introduzca la ruta de acceso completa a una base de datos de Microsoft Access a la que desee tener acceso.


Crear una base de datos

Introduzca la ruta de acceso completa de la nueva base de datos de Microsoft Access que desee crear.


Definir el formato de texto

Vea también

Si se utiliza el controlador de Texto, puede utilizar el cuadro de diálogo Definir formato de texto para definir el formato de las columnas de un archivo seleccionado. Este cuadro de diálogo permite especificar el esquema de cada tabla de datos. La información se escribe en el archivo SCHEMA.INI del directorio de origen de datos. Se crea un SCHEMA.INI independiente por cada directorio de origen de datos de texto.

Nota   El mismo formato de archivo predeterminado se aplica a todas las tablas de datos de texto nuevas. Todos los archivos creados por la orden CREATE TABLE heredan esos mismos valores de formato predeterminados, los cuales se establecen seleccionando valores de formato de archivo en el cuadro de diálogo Definir formato de texto con la opción <predeterminado> activada en el cuadro de Lista tablas. El controlador de Texto no cambia el formato de un archivo de texto existente para que coincida con el formato definido en este cuadro de diálogo, pero devuelve un mensaje de error cuando utiliza el formato, como por ejemplo, cuando intenta recuperar datos del archivo de texto.

Control	Información
Agregar	Agrega una columna utilizando los valores de los campos Tipo de datos, Nombre y Ancho del cuadro de diálogo y si se puede aplicar, el valor Separador de fecha de SCHEMA.INI.
Caracteres	ANSI u OEM. OEM especifica un juego de caracteres no ANSI. El valor predeterminado es OEM si el formato del elemento seleccionado en la lista Tablas no ha sido definido con anterioridad por este cuadro de diálogo
Encabezado nombre columna	Indica si las columnas de la primera fila de la tabla seleccionada se deben utilizar como nombres de columna. Puede ser TRUE o FALSE. El valor predeterminado es FALSE si el formato del elemento seleccionado en la lista Tablas no ha sido definido con anterioridad por este cuadro de diálogo.
Columnas	Contiene una lista de los nombres de columna para cada columna de la tabla seleccionada. El orden de las columnas refleja el orden de éstas en la tabla. Esta lista se activa si se ha seleccionado un archivo en la lista Tablas.
Tipo de datos	Puede ser BIT, BYTE, CHAR, CURRENCY, DATE, FLOAT, INTEGER, LONGCHAR, SHORT o SINGLE. Los tipos de datos de fecha pueden estar en los siguientes formatos: "dd-mmm-aa", "mm-dd-aa", "mmm-dd-aa", "aaaa-mm-dd" o "aaaa-mmm-dd". "mm" indica los números de los meses; "mmm" indica las letras de los meses.
Delimitador	Especifica el carácter delimitador personalizado que se va a utilizar para separar columnas. Se activa cuando está seleccionado el formato "Delimitado personalizado". El delimitador sólo puede tener un carácter de largo y no se puede utilizar comillas (") como carácter delimitador. (Observe que el delimitador no puede estar especificado en formato hexadecimal o decimal.)
Formato	Con longitud fija o delimitada. Si está delimitado, indica el tipo de delimitador utilizado: coma (CSV), tabulación o un carácter especial (personalizado). El valor predeterminado es CSV Delimitado el formato del elemento seleccionado en la Lista tablas no ha sido definido con anterioridad por este cuadro de diálogo. Si el formato es de longitud fija Encabezado nombre columna es TRUE, la primera línea debe estar delimitada por comas.
Estimar	Genera automáticamente el tipo de dato de la columna, el nombre y los valores de ancho de las columnas en la tabla seleccionada comprobando los contenidos de la tabla de acuerdo con la selección del cuadro de lista Formato. Se activa cuando el formato de tabla está delimitado. Cualquier columna definida con anterioridad en la lista Columnas se borra y se reemplaza con entradas nuevas. Si Encabezado nombre columna no está activado, los nombres de las columnas se generan automáticamente como "F1", "F2" y así sucesivamente. Observe que no se muestra ningún valor predeterminado en el cuadro Tipo de datos. Esta función sólo funciona en columnas que sean inferiores a 64.513 bytes.
Modificar	Modifica la columna seleccionada mediante el uso de los valores en los campos Tipo de datos, Nombre y Ancho.
Nombre	Muestra el nombre de la columna seleccionada. Se puede utilizar para especificar un nombre de columna nuevo, para una columna ya existente o bien para una columna nueva. Si Encabezado nombre columna es TRUE, el nombre de columna que se muestra se ignora.
Quitar	Elimina la columna seleccionada.
Filas a explorar	El número de filas que comprobará el programa de instalación o el controlador cuando se estén estableciendo las columnas y los tipos de datos de columnas basándose en los datos existentes. Es posible introducir un número del 1 al 32767 como número de filas a comprobar. El valor predeterminado de este control es 25 si este cuadro de diálogo no ha seleccionado previamente el formato del elemento seleccionado en la lista Tablas. (Un número fuera de este límite devolverá un error).
Tablas	Contiene una lista de todos los archivos del directorio seleccionado en el cuadro de diálogo Instalación de Texto que coinciden con la lista de extensiones especificada. Cuando <predeterminado> está seleccionado y uno de los siguientes puntos es verdadero, los valores de los atributos de la tabla del grupo Tables se escriben en SCHEMA.INI. No se toca ninguna otra entrada de SCHEMA.INI. • No existe ningún archivo SCHEMA.INI en el directorio especificado. • El archivo SCHEMA.INI existe, pero no hay sección en SCHEMA.INI de uno de los archivos de texto (con la extensión especificada) en el directorio. • Existe la sección de un archivo de texto en SCHEMA.INI, pero el cuerpo está vacío. Cuando <predeterminado> está seleccionado, el grupo "Columnas" está desactivado.
Ancho	Es posible cambiar el ancho de las columnas CHAR o LONGCHAR. El valor predeterminado del ancho será 1 si el formato del elemento seleccionado en la lista Tablas no ha sido definido con anterioridad por este cuadro de diálogo. Para otros tipos de datos, el control de ancho se encuentra desactivado y no se muestra ningún valor.


Esquema

El esquema incluye información acerca de cada una de las tablas (archivo de texto) de un origen de datos, incluidos el formato de la tabla, el número de filas a comprobar para determinar los tipos de columna, si la primera fila de la tabla contiene nombres de columna, si el archivo origen se ha escrito utilizando una página de códigos OEM o ANSI y el nombre, tipo de datos y ancho de cada columna.


Archivo SCHEMA.INI

Vea también

Cuando se usa el controlador de Texto, el formato del archivo de texto se determina mediante la utilización de un archivo de información de esquema. Este archivo, que siempre se denomina SCHEMA.INI y siempre se guarda en el mismo directorio que el origen de datos de texto, proporciona información al IISAM acerca del formato general del archivo, el nombre de la columna y tipo de datos, así como otras muchas características de los datos. Siempre se necesita un archivo SCHEMA.INI para tener acceso a datos de longitud fija; debe utilizar un archivo SCHEMA.INI cuando la tabla de texto contenga datos DateTime, Currency o Decimal o siempre que desee más control sobre la administración de los datos de la tabla.

Nota   El ISAM del texto obtendrá los valores iniciales del registro, no de SCHEMA.INI. El mismo formato predeterminado de archivo se aplica a todas las tablas de datos de texto nuevas. Todos los archivos creados por la orden CREATE TABLE heredan esos mismos valores de formato predeterminados, los cuales se establecen seleccionando valores de formato de archivo en el cuadro de diálogo Definir formato de texto con la opción <predeterminado> activada en el cuadro de Lista tablas. Si los valores del registro son diferentes a los valores de SCHEMA.INI, los valores del registro serán sobrescritos por los valores de SCHEMA.INI.

Comprensión de los archivos SCHEMA.INI

Los archivos SCHEMA.INI suministran información en esquema acerca de los registros de un archivo de texto. Cada entrada de SCHEMA.INI especifica una de las cinco características de la tabla:

•	El nombre del archivo de texto

•	El formato del archivo

•	Los nombres, anchos y tipos de campo

•	El juego de caracteres

•	Conversiones de tipos de datos especiales

La siguiente sección trata estas características.

Especificar el nombre del archivo

La primera entrada de SCHEMA.INI es siempre el nombre del archivo origen de texto entre corchetes. El siguiente ejemplo ilustra la entrada del archivo SAMPLE.TXT:

[Ejemplo.txt]

Especificar el formato del archivo

La opción Format de SCHEMA.INI especifica el formato del archivo de texto. El IISAM del texto puede leer el formato automáticamente desde la mayoría de los archivos delimitados por caracteres. Puede utilizar cualquier carácter como delimitador del archivo excepto las comillas ("). El valor Format de SCHEMA.INI sobrescribe al valor del Registro de Windows sobre una base archivo a archivo. La siguiente tabla presenta en una lista los valores válidos para la opción Format.

Especificador de  formato	Formato de la tabla
TabDelimited	Los campos del archivo están delimitados por tabulaciones.
CSVDelimited	Los campos del archivo están delimitados por comas (valores separados por coma).
Delimited(*)	Los campos del archivo están delimitados por asteriscos. Se puede sustituir cualquier carácter por el asterisco excepto las comillas.
FixedLength	Los campos del archivo son de longitud fija.
Por ejemplo, para especificar un formato delimitado por comas, debe agregar la siguiente línea a SCHEMA.INI:

Format=CSVDelimited

Especificar los campos

Es posible especificar de dos maneras los nombres de los campos en un archivo de texto de delimitado por caracteres:

•	Incluir los nombres de campo en la primera fila de la tabla y establecer ColNameHeader como True.

•	Especificar cada columna por número y designar el nombre de columna y el tipo de dato.

Se debe especificar cada columna por número y designar el nombre de columna, tipo de dato y ancho para archivos de longitud fija.

Nota   El valor ColNameHeader de SCHEMA.INI sobrescribe el valor FirstRowHasNames en el Registro de Windows sobre una base archivo a archivo.

Los tipos de datos de los campos también pueden estar determinados. Utilice la opción MaxScanRows para indicar el número de filas que se deben comprobar al determinar los tipos de columna. Si se establece MaxScanRows como 0, se comprobará toda el archivo. El valor MaxScanRows de SCHEMA.INI sobrescribe al valor del Registro de Windows sobre una base archivo a archivo.

La siguiente entrada indica que Microsoft Jet debe utilizar los datos de la primera fila de la tabla para determinar los nombres de los campos y debe examinar todo el archivo para determinar los tipos de datos utilizados:

ColNameHeader=True

MaxScanRows=0

La próxima entrada designa campos de una tabla mediante la utilización de la opción (Coln) de número de columna, que es opcional para archivos delimitados por caracteres y obligatoria para los de longitud fija. El ejemplo muestra las entradas de SCHEMA.INI de dos campos, un campo de texto Númerocliente de 10 caracteres y un campo de texto Nombrecliente de 30 caracteres:

Col1=Numerocliente Text Width 10

Col2=Nombrecliente Text Width 30

La sintaxis de Coln es:

Coln=NombreColumna, tipo [Width #]

La siguiente tabla describe cada parte de la entrada Coln.

Parámetro	Descripción
NombreColumna	El nombre textual de la columna. Si el nombre de columna contiene espacios incrustados, debe meterlo entre comillas.
tipo	Los tipos de datos son: Tipos de datos de Microsoft Jet  Bit Byte Short Long Currency Single Double DateTime Text Memo Tipos de datos de ODBC Char (igual que Text) Float (igual que Double) Entero (igual que Short) LongChar (igual que Memo) Date formato fecha
Ancho	El valor literal de la cadena Width. Indica que el numero siguiente designa el ancho de la columna (opcional para archivos de delimitados por caracteres, obligatorio para los de longitud fija).
#	El valor entero que designa el ancho de la columna (obligatorio si Ancho está especificado).
Seleccionar un juego de caracteres

Es posible seleccionar entre dos juegos de caracteres: ANSI y OEM. El ejemplo siguiente muestra la entrada de SCHEMA.INI de un juego de caracteres OEM. El valor CharacterSet de SCHEMA.INI suplanta al del Registro de Windows sobre una base archivo a archivo. El ejemplo siguiente muestra la entrada SCHEMA.INI que establece el juego de caracteres como ANSI:

CharacterSet=ANSI

Especificar los formatos y conversiones de tipos de datos

El archivo SCHEMA.INI contiene un número de opciones que se pueden utilizar para especificar cómo se convierten o se muestran los datos. La tabla siguiente presenta una lista con cada una de estas opciones.

Opción	Descripción
DateTimeFormat	Se puede establecer en una cadena de formato que indique las fechas y las horas. Debe especificar esta entrada si todos los campos de fecha y hora al importar y exportar se administran con el mismo formato. Se admiten todos los formatos de Microsoft Jet excepto A.M. y P.M. En ausencia de una cadena de formato se usan las opciones de fecha corta y hora del Panel de control de Windows.
DecimalSymbol	Se puede establecer como cualquier carácter sencillo que se utilice para separar el número entero de la parte decimal.
NumberDigits	Indica el número de dígitos de la parte decimal de un número.
NumberLeadingZeros	Especifica si un valor decimal menor que 1 y mayor que -1 debe contener ceros a la izquierda; este valor puede ser False (sin ceros a la izquierda) o True.
CurrencySymbol	Indica qué símbolo monetario hay que utilizar en el archivo de texto para los valores monetarios. Los ejemplos incluyen el símbolo del dólar ($) y del marco (Dm).
CurrencyPosFormat	Se puede establecer como cualquiera de los siguientes valores: • Símbolo monetario antes sin separación ($1) • Símbolo monetario después sin separación (1$) • Símbolo monetario antes con un carácter de separación ($ 1) • Símbolo monetario después con un carácter de separación (1 $)
CurrencyDigits	Especifica el número de dígitos utilizados por la parte decimal de una cantidad en moneda.
CurrencyNegFormat	Puede ser uno de estos valores: • ($1) • –$1 • $–1 • $1– • (1$) • –1$ • 1–$ • 1$– • –1 $ • –$ 1 • 1 $– • $ 1– • $ –1 • 1– $ • ($ 1)  • (1 $) Este ejemplo muestra el símbolo del dólar, pero debe reemplazarlo por el valor CurrencySymbol apropiado en el programa real.
CurrencyThousandSymbol	Indica el símbolo de un sólo carácter que se usa para separar las unidades de millar en los valores monetarios del archivo de texto.
CurrencyDecimalSymbol	Se puede establecer como cualquier carácter individual que se utilice para separar la parte entera de la parte decimal de una cantidad en moneda.
Nota   Si se omite una entrada, se utiliza el valor predeterminado del Panel de control de Windows.


Formato de archivo de texto (Avanzado)

Vea también

El controlador de ODBC Texto admite tanto archivos de texto delimitados como de longitud fija. Un archivo de texto se compone de una línea del encabezado opcional y cero o varias líneas de texto.

Aunque la línea del encabezado utiliza el mismo formato que el resto de las líneas del archivo de texto, el controlador de texto ODBC interpreta las entradas de la línea del encabezado como nombres de columna, no como datos.

Una línea de texto delimitada contiene uno o varios valores de datos separados por delimitadores: comas, tabulaciones o un delimitador personalizado. Se debe utilizar el mismo delimitador en todo el archivo. Los valores de datos nulos se indican mediante dos delimitadores en una fila sin datos entre ellos. Las cadenas de caracteres de una línea de texto delimitada pueden ir entre comillas (“”). No puede haber espacios en blanco antes o después de los valores delimitados.

El ancho de cada entrada de datos en una línea de texto de ancho fijo se especifica en un esquema. Los valores de datos nulos se indican mediante espacios en blanco.

Las tablas se limitan a un máximo de 255 campos. Los nombres de los campos se limitan a 64 caracteres y los anchos de los campos se limitan a 32.766 caracteres. Los registros están limitados a 65.000 bytes.

Un archivo de texto sólo se puede abrir para un único usuario. No se admite varios usuarios.

La siguiente gramática, escrita para programadores, define el formato de un archivo de texto que el controlador de texto ODBC puede leer. El texto sin cursiva representa caracteres que se deben introducir tal y como están, el que está en cursiva representa argumentos que se indican en algún otro sitio de la gramática, los corchetes ([]) representan los elementos opcionales, las llaves ({}) delimitan una lista de opciones mutuamente exclusivas, las barras verticales (|) separan estas opciones y los puntos suspensivos (...) representan elementos que se pueden repetir una o varias veces.

El formato de un archivo de texto es:

archivo de texto::=
[encabezado delimitado] [línea de texto delimitada]... fin de archivo |
[línea de encabezado de ancho fijo] [línea de texto de ancho fijo]... fin de archivo

línea de encabezado delimitada::= línea de texto delimitada

línea de texto delimitada::=
línea en blanco |
datos delimitados [datos delimitados por un delimitador]... fin de línea

línea de encabezado de ancho fijo::= línea de texto de ancho fijo

línea de texto de ancho fijo::=
línea en blanco |
datos de ancho fijo [datos de ancho fijo]... fin de línea

fin de archivo::= <EOF>

línea en blanco::= fin de línea

datos delimitados::= cadena delimitada | número | fecha | null delimitado

datos de ancho fijo::= cadena de ancho fijo | número | fecha | null de ancho fijo
El ancho de cada columna en un archivo de texto de ancho fijo está especificada en el archivo SCHEMA.INI.

fin de línea ::= <CR> | <LF> | <CR><LF>

cadena delimitada::= cadena sin comillas | cadena entre comillas

cadena sin comillas ::= [carácter | dígito] [carácter | dígito | comillas]...

cadena entre comillas::=
comillas
[carácter | dígito | delimitador | fin de línea | cadena incrustada entre comillas ]...
comillas

cadena incrustada entre comillas::=
comillas comillas
[carácter | dígito | delimitador | fin de línea]
comillas comillas

cadena de ancho fijo::= [carácter | dígito | delimitador | comillas] ...

carácter::=  cualquier carácter excepto:
delimitador
dígito
fin de archivo
fin de línea
comillas

dígito::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

delimitador::= , | <TABULACIÓN> | delimitador personalizado

delimitador personalizado::= cualquier carácter excepto:
fin de archivo
fin de línea
comillas
El delimitador de un archivo de texto delimitado de forma personalizada está especificado en el archivo SCHEMA.INI.

comillas::= "

número ::= número exacto | número aproximado

número exacto::= [+ | -] {número entero sin signo [.número entero sin signo] |
número entero sin signo. |
.número entero sin signo}

número aproximado ::= número exacto{e | E}[+ | -]número entero sin signo

número entero sin signo ::= {dígito}...

fecha ::=
mm separador de fecha dd separador de fecha aa |
mmm separador de fecha dd separador de fecha aa |
dd separador de fecha mmm separador de fecha aa |
aaaa separador de fecha mm separador de fecha dd |
aaaa separador de fecha mmm separador de fecha dd

mm ::= dígito[dígito]

dd ::= dígito[dígito]

aa ::= dígito dígito

aaaa ::= dígito dígito dígito dígito

mmm ::= Ene | Feb | Mar | Abr | May | Jun | Jul | Ago | Sep | Oct | Nov | Dic

separador de fecha::= - | / | .

valor nulo delimitado::=
Para archivos delimitados, un valor NULL se representa sin datos entre dos delimitadores.

valor nulo de ancho fijo ::= <ESPACIO>...
Para archivos de ancho fijo, un valor NULL se representa mediante espacios.


Seleccionar un identificador de registro exclusivo

Selecciona la columna o columnas que identifican exclusivamente un registro para una tabla.


Origen de datos

Cuando se usa el controlador de Microsoft Access, el origen de datos especifica la base de datos de Microsoft Access (.MDB) que se desea utilizar y la información que se necesita para llegar a esa base de datos.

Cuando se usa el controlador de dBASE, Microsoft Excel 3.0/4.0, Microsoft FoxPro, Paradox o Texto, el origen de datos especifica el directorio de datos predeterminado en el que el controlador ODBC busca los archivos de datos a los que se quiere tener acceso, así como cualquier otra información.

En el caso de Microsoft Excel 5.0, 7.0 ó 97, el origen de datos especifica el libro de trabajo predeterminado de datos en el que el controlador ODBC busca los archivos de datos a los que se quiere tener acceso, así como cualquier otra información.


Entrada de contraseña

Vea también

Las contraseñas se deben introducir en el momento de la conexión, mediante una contraseña en la cadena de conexión (UID y PWD para Microsoft Access o PWD para Paradox) o con el argumento szCadAut de la función SQLConnect.

Cuando se utiliza el controlador de Microsoft Access, puede que una aplicación le pida el nombre y contraseña si el origen de datos utiliza una base de datos del sistema. El nombre predeterminado es Admin y la contraseña predeterminada en Microsoft Access para el usuario Admin es una cadena vacía.

Cuando se utiliza el controlador de Paradox, sólo se admite una contraseña si se introduce en la cadena de conexión. Esa contraseña es válida siempre que se abre una tabla. Si no se pasa ninguna contraseña en la cadena de conexión, no se establece ninguna contraseña para una tabla. Si las tablas tienen contraseñas diferentes, ni se pueden abrir en la misma sesión ni se pueden unir.


Uniones heterogéneas y tablas adjuntas

Cuando se utiliza el controlador de Microsoft Access, se admiten las tablas adjuntas y las uniones heterogéneas.

No se admite la creación de vínculos con tablas adjuntas. El controlador de Microsoft Access no se debe utilizar para adjuntar una tabla a otra tabla dentro del sistema de administración de la base de datos de Microsoft Access. La tabla se debe adjuntar directamente.

Observe que no se admite la utilización de los controladores ODBC Desktop Database desde dentro del código Data Access Objects (DAO).


Abrir tablas de Microsoft Excel

El controlador de Microsoft Excel no es capaz de leer archivos de Microsoft Excel cuyo formato sea anterior a la versión 3.0. Estos archivos se pueden abrir en una versión posterior de Microsoft Excel y guardar con un formato de la versión 3.0, 4.0, 5.0, 7.0 ó 97 que el controlador sea capaz de leer.

Se crea una tabla versión BIFF3 si la versión del origen de datos a través de la que se realizó la conexión es "Excel", lo que significa Microsoft Excel 3.0 ó 4.0. Se crea una hoja de cálculo en el libro de trabajo al que está conectado si la versión del origen de datos ha sido "Excel 5.0", "Excel 7.0" o "Excel 97".

Los formatos de archivo de Microsoft Excel 3.0 y Microsoft Excel 4.0 deben tener un rango de bases de datos definido. El controlador de Microsoft Excel reconoce los rangos con nombre como tablas. Las bases de datos especificadas por un rango con nombre aumentarán según se agreguen datos nuevos. Si algún dato nuevo sobrescribiese datos ya existentes en una hoja de cálculo (fuera del rango con nombre que representa los datos), se devolverá un mensaje de error.

Todas la tablas de Microsoft Excel (hojas de cálculo) que se creen y abran para insertar se abren exclusivamente de manera predeterminada y sólo puede abrirlas un usuario a la vez. El usuario debe elegir explícitamente abrir tablas de Microsoft Excel como compartidas. "Sólo lectura " permite que varios usuarios vean archivos .XLS.


Archivos protegidos por contraseña

Si utiliza el controlador de Paradox, después de que un usuario haya abierto un archivo protegido con contraseña, no podrán abrir el mismo archivo otros usuarios.


Fallo tras conexiones repetidas

Si una aplicación ODBC funcionando en Microsoft Windows 95 se conecta y se desconecta con el servidor repetidamente (más de 50-60 veces), es posible que falle la conexión devolviendo el controlador SQLSTATE 01000 (advertencia general) y el mensaje de error "Imposible cargar el servicio Expresiones". Puede que esto sea un problema en particular para las aplicaciones de servidor Web de Internet. Este fallo se resuelve actualizando el archivo RPCRT4.DLL del directorio \\WINDOWS\SYSTEM para liberar QFE 324. Para más información, póngase en contacto con el Soporte técnico de producto de Microsoft.


Integridad referencial

La integridad referencial sólo admite un origen de datos de Microsoft Access y sólo si el sistema de administración de la base de datos de Microsoft Access configura la integridad referencial para el origen de datos.


Datos de Lotus 1-2-3/Datos EMS

Los controladores ODBC Desktop Database no admiten datos de Lotus 1-2-3 o EMS.


Soporte técnico de Visual Basic

Las propiedades Connect y Attributes de un objeto TableDef de Visual Basic se puede utilizar para conectarse con un origen de datos ODBC mediante controladores ODBC Desktop Database. Para obtener más información, consulte la documentación de Visual Basic.


Cadenas de conexión (Avanzada)

Vea también

La cadena de conexión para los controladores ODBC utiliza las siguientes palabras clave:

Palabra clave	Descripción
DSN	Nombre del origen de datos
DBQ	Nombre del directorio
DRIVERID	ID entero para el controlador.
FIL	Tipo de archivo  (MS Access para Microsoft Access; dBase III, dBase IV o dBase5; Excel 3.0, Excel 4.0, Excel 5.0, Excel 7.0 o Excel 97 para Microsoft Excel; FoxPro 2.0, 2.5 o 2.6 para Microsoft FoxPro; Paradox 3.x, 4.x o 5.x o texto) Esta palabra clave sólo se admite con el fin de obtener compatibilidad con lo anterior. Palabras clave específicas del controlador
Palabras cable específicas del controlador

Además de las palabras clave que se mostraron en la tabla anterior, el controlador de Microsoft Access utilice palabras clave de UID y PWD y el de Paradox utiliza palabras clave de PWD.

Palabra clave	Descripción
UID	El Id. de inicio de sesión del usuario (sólo en Microsoft Access). Establecido inicialmente como "Admin". Para obtener más información acerca del Id. del usuario Admin, consulte "Crear un nuevo usuario Admin" en el capítulo 10, "Administrar seguridad," de la Microsoft Jet Database Engine Programmer’s Guide.
PWD	La contraseña específica del usuario.
En las cadenas de conexión se pueden utilizar otras contraseñas, además de las documentadas anteriormente. Para obtener más información acerca de estas claves, consulte SQLConfigDataSource. Las palabras clave específicas de Microsoft Access que compactan una base de datos (COMPACT_DB) y las que crean una base de datos (CREATE_DB) no son compatibles con las cadenas de conexión.

Nota   Si utiliza el controlador de Microsoft Access o Paradox, la palabra clave PWD no deberá incluir ninguno de los caracteres especiales (vea SQL_SPECIAL_CHARACTERS en Valores devueltos por SQLGetInfo).


Seleccionar una base de datos (Avanzado)

Si se utiliza el controlador de Microsoft Access, es posible seleccionar el botón Seleccionar en el cuadro de diálogo Instalación de Microsoft Access para seleccionar una base de datos existente.

El cuadro de diálogo Abrir la base de datos contiene los siguientes campos:

Control	Descripción
Nombre de base de datos	Nombre del archivo de la base de datos existente con una extensión .MDB.
Exclusivo	Si está seleccionada la casilla Exclusivo, la base de datos se abrirá en modo Exclusivo y sólo podrá tener acceso a ella un usuario cada vez. Si la casilla Exclusivo está desactivada, la base de datos se abrirá en modo Compartido y podrá tener acceso a ella más de un usuario. El funcionamiento se mejora cuando se ejecuta en modo Exclusivo.
Sólo lectura	Designa la base de datos como de sólo lectura.


Crear una base de datos (Avanzado)

Cuando se utiliza un controlador de Microsoft Access, se puede presionar el botón Crear para crear una base de datos nueva.

Nota   Una base de datos creada mediante la utilización del botón Crear funcionará sólo con Microsoft Access 7.0.

El cuadro de diálogo Nueva base de datos contiene los siguientes campos:

Control	Descripción
Nombre de base de datos	Nombre del archivo de la base de datos con una extensión .MDB.
Formato antiguo (2.x)	Crea una base de datos compatible con ODBC 2.x.
Orden	Establece un tipo de orden predeterminado para la base de datos. Puede ser: General (inglés, francés, alemán, portugués, italiano), español tradicional, holandés, sueco/finlandés, noruego/danés, islandés, checo, húngaro, polaco, ruso, turco, árabe, hebreo, griego, japonés, coreano, taiwanés, chino. Base de datos del sistema
Base de datos del sistema	Crea una base de datos del sistema.


Reparar una bases de datos (Avanzado)

Cuando se usa el controlador de Microsoft Access, si ocurre un fallo de cliente durante el proceso de dedicación (tras emitir la función SQLTransact, pero antes de que se devuelva), la base de datos afectada puede estar dañada y necesitar reparación. La reparación se puede llevar a cabo mediante la instalación a través del cuadro de diálogo de instalación del controlador de Microsoft Access, o mediante programa usando la función SQLConfigDataSource.

Para reparar la base de datos a través del cuadro de diálogo de instalación del controlador de Microsoft Access, haga clic en el botón Reparar. Seleccione el archivo y la ruta y a continuación haga clic en Aceptar.

Para reparar la base de datos mediante programa, incluya "REPAIR_DB=<nombre de ruta de acceso>" en la lista de atributos (lpszAttributes) de la función SQLConfigDataSource. En esta función, <nombre de ruta > es la ruta completa hacia la base de datos de Microsoft Access.

Al reparar un archivo protegido por contraseña, se debe introducir una contraseña y una identificación de usuario en el cuadro de diálogo opciones avanzadas (o en la lista de atributos para SQLConfigDataSource, si se repara mediante programa). Se debe eliminar la contraseña y la identificación de usuario después de la reparación.

Estas operaciones ejecutarán el proceso de reparación estándar de Microsoft Access en la base de datos. Los datos de las bases de datos de Microsoft Access podrían estar afectados por cualquiera de estas dos acciones.

Observe que una base de datos que esté señalada como dañada puede no estarlo en realidad. Puede que la indicación sea causada por un apagado indebido que no borre los bits apropiados. En éste y en otros casos, puede que un programador quiera mantener el cuadro de mensaje dañado transparente hasta el usuario final. Esto se puede conseguir pasando SQL_DRIVER_NOPROMPT con la función SQLDriverConnect.

Para más información acerca de la reparación de bases de datos en Microsoft Access, consulte el archivo de ayuda de Microsoft Access.


Compactar una base de datos (Avanzado)

Cuando se usa el controlador de Microsoft Access, se puede llevar a cabo la compresión de datos en un archivo de base de datos, o bien mediante la instalación a través del cuadro de diálogo de instalación del controlador de Microsoft Access o mediante programa usando la función SQLConfigDataSource.

Para llevar a cabo la compresión de datos en un archivo de base de datos por medio del cuadro de diálogo de instalación del controlador de Microsoft Access, haga clic en el botón Compactar. Desde el cuadro de diálogo Base de datos origen para compactar, seleccione el archivo y la ruta de acceso y, a continuación, haga clic en Aceptar. Desde el cuadro de diálogo Base de datos en que desea compactar, seleccione el archivo y la ruta de acceso, seleccione la versión del archivo comprimido resultante y un tipo de orden (que se puede cambiar para la base de datos destino) y a continuación haga clic en Aceptar. El nombre del archivo nuevo puede ser el mismo que el que va a ser comprimido. Se devuelve un mensaje de error si el nombre del archivo nuevo es el mismo que el de un archivo ya existente.

Para llevar a cabo la compresión de datos en un archivo de base de datos mediante programa, incluya "COMPACT_DB=<origen db> <destino db> <orden>" en la lista de atributos (lpszAttributes) de la función SQLConfigDataSource. En esta función, <origen db> es la ruta completa hacia la base de datos de Microsoft Access que va a ser comprimida y <destino db> es la ruta completa para la base de datos de Microsoft Access resultante.

Cuando se comprime un archivo protegido por contraseña, se debe introducir una contraseña y una identificación de usuario en el cuadro de diálogo opciones avanzadas (o en la lista de atributos para SQLConfigDataSource, si se comprime mediante programa). La contraseña y la identificación de usuario se deberían eliminar tras la compresión. Los archivos comprimidos protegidos por contraseña pueden tener resultados imprevistos.

Estas operaciones ejecutarán el proceso de compresión estándar de Microsoft Access en la base de datos.

Para más información acerca de la compresión de bases de datos en Microsoft Access, consulte el archivo de ayuda de Microsoft Access.


Compatibilidad con SQL-92 (Avanzado)
Compatibilidad con SQL-92 (Avanzada)

Los controladores de ODBC Desktop Database y el motor de Microsoft Jet no son compatibles con SQL-92. Admiten muchas características definidas en SQL-92. Pero, SQL-92 no admite algunas de las características de los controladores. Para obtener más información, consulte Microsoft Jet Database Engine Programmers's Guide. Las diferencias más importantes entre ambos son las siguientes:

•	El SQL empleado por los controladores de Desktop Database admite expresiones más complejas que las especificadas por SQL-92.

•	Se aplican diferentes reglas al predicado BETWEEN.

•	El SQL utilizado por los controladores de Desktop Database y ANSI SQL admite distintas palabras clave.

Estas son las características de SQL-92 que no admite el SQL de Microsoft Jet:

•	Instrucciones de seguridad como, por ejemplo, GRANT y LOCK.

•	DISTINCT con referencias de funciones de dominio agregado.

Las siguientes características constituyen mejoras en el SQL utilizado por los controladores de Desktop Database que no se especifican en SQL-92:

•	La instrucción TRANSFORM que proporciona soporte para consultas de referencias cruzadas.

•	Funciones de dominio agregado adicionales (StDev y VarP).


Gramática SQL adicional de ODBC admitida (Avanzado)
Gramática SQL adicional de ODBC admitida (Avanzada)

Los controladores ODBC admiten toda la gramática ODBC 2.5 mínima y las siguientes cláusulas de las gramáticas ODBC 2.5 principal y extendida. Se puede visualizar información adicional accediendo a la instrucción ALTER TABLE, a nombres de correlación y temas de invocación de procedimientos.

•	Literal numérico aproximado (Núcleo)

•	Instrucción ALTER TABLE (Núcleo)

•	Literales binarios (Extendido)

•	Predicado BETWEEN (Núcleo)

•	Nombres de correlación (Núcleo)

•	Predicado EXISTS (Núcleo)

•	IN (listavalores) (Núcleo)

•	Uniones externas (Extendido)

•	Llamada a procedimientos (Extendido)

•	Instrucción SELECT (Extendido) (incluidas las cláusulas GROUP BY, HAVING y JOIN)

•	Subconsultas (SUBSELECT) (Núcleo)

•	Tema


Instrucción ALTER TABLE (Núcleo)

Vea también

Si utiliza el controlador de Microsoft Access, dBASE, Microsoft FoxPro o Paradox, se admitirá la instrucción ALTER TABLE con cláusulas de definición de restricciones en la colocación y adición de tablas. (Ni el controlador de Microsoft Excel ni de Texto admiten la instrucción ALTER TABLE).


Nombres de correlación (Núcleo)

Los nombres de correlación se admiten totalmente, incluso en la lista de tablas. Por ejemplo, en la siguiente cadena, E1 es el nombre de correlación para la tabla Emp:

SELECT * FROM Emp E1
WHERE E1.LastName = 'López'


Llamada a procedimientos (Extendido)

Si utiliza el controlador de Microsoft Access, podrá llamar a procedimientos desde el controlador mediante la función SQLExecDirect o SQLPrepare con la siguiente sintaxis: {CALL nombreprocedimiento [(parámetro [,parámetro]...)]}. Tenga en cuenta que las expresiones no se admiten como parámetros para llamar a un procedimiento.

Si el nombre de un procedimiento contiene un guión, deberá delimitar el nombre con estas comillas (`).

Puede llamar a una consulta de parámetros utilizando la instrucción anterior.


Predicado BETWEEN

Sintaxis:

expresión1 BETWEEN expresión2 AND expresión3

Devuelve un valor verdadero si expresión1 es mayor o igual a expresión2 y expresión1 es menor o igual a expresión3.

La semántica de esta sintaxis es distinta para los controladores de Desktop Database y el motor de Microsoft Jet. En el SQL de Microsoft Jet, expresión2 puede ser mayor que expresión3, de modo que la instrucción devolverá el valor TRUE sólo si expresión1 es mayor o igual a expresión3 y expresión1 es menor o igual a expresión2.


Instrucción CREATE INDEX

Vea también

La sintaxis de la instrucción CREATE INDEX es la siguiente:

CREATE [UNIQUE] INDEX nombreíndice ON nombretabla (identificadorcolumnas [ASC][DESC][, identificadorcolumnas [ASC][DESC]...]) WITH <listaopcionesíndice>

donde <listaopcionesíndice> puede ser: PRIMARY | DISALLOW NULL | IGNORE NULL

Sólo el controlador de Microsoft Access utiliza las opciones para índices DISALLOW NULL y IGNORE NULL. Los controladores de dBASE, Microsoft FoxPro y Paradox aceptan la sintaxis, pero ignoran la presencia de estas opciones.

Si utiliza el controlador de Paradox, la instrucción CREATE INDEX creará archivos de claves principales y archivos secundarios Paradox.

El controlador de Microsoft Excel o Texto no admite esta instrucción.


Cálculo de fechas

El controlador admite sumar y restar números enteros de una columna DATE, TIME o TIMESTAMP. En una columna DATE, este número especifica el número de días que se van a sumar o restar. En cambio, en una columna TIME o TIMESTAMP, el número entero especifica el número de segundos que se van a sumar o restar.


Literales Date, Time y Timestamp

Para una máxima operatividad entre ellas, las aplicaciones deben pasar los literales de fecha en el formato canónico de ODBC y utilizando la sintaxis de cláusulas de escape:

•	Para literales de fecha, {d 'valor'}, donde valor tiene el formato "aaaa-mm-dd"

•	Para literales de hora, {t 'valor'}, donde valor tiene el formato "hh:mm:ss"

•	Para literales de fecha y hora, {ts 'valor'}, donde valor tiene el formato "aaaa-mm-dd hh:mm:ss[.f...]".


Instrucción DROP INDEX

Si utiliza el controlador de Microsoft Access, dBASE, Microsoft FoxPro o Paradox, la sintaxis de la instrucción DROP INDEX es "DROP INDEX a in b" donde "a" es el nombre del índice y "b" el nombre de la tabla (no DROP INDEX nombreíndice).

Si utiliza el controlador de Paradox, la instrucción DROP INDEX eliminará los archivos Paradox de índices secundarios.

El controlador de Microsoft Excel o Texto no admite la instrucción DROP INDEX.


Archivo de texto de ancho fijo

Si utiliza el controlador de Texto, la última columna de los archivos con ancho fijo puede tener una longitud variable.


GROUP BY listaexpresiones

GROUP BY admite una lista de expresiones y un nombre de columna. La lista de selección de una instrucción SELECT con una cláusula GROUP BY sólo puede contener expresiones de la cláusula GROUP BY o de funciones de conjuntos.


ORDER BY listaexpresiones

Se pueden emplear expresiones en la cláusula ORDER BY. Por ejemplo, en las siguientes cláusulas, la tabla se ordena por tres expresiones clave: a+b, c+d y e.

SELECT * FROM emp
ORDER BY a+b,c+d,e

No se puede ordenar en funciones de conjuntos ni en expresiones que contengan una función de conjuntos.


ORDER BY con GROUP BY

ORDER BY se puede aplicar a cualquier expresión en GROUP BY listaexpresiones o cualquier columna del conjunto de resultados.


Uniones externas

La instrucción SELECT puede contener una lista de cláusulas OUTER JOIN. Se admiten uniones externas (OUTER JOINS) anidadas. Para más información sobre uniones externas, consulte Microsoft Jet Database Engine Programmers’s Guide.


Funciones escalares

Los controladores de Desktop Database de Microsoft ODBC admiten las siguientes funciones escalares:

CONCAT	LCASE	RIGHT
CONVERT	LEFT	RTRIM
CURDATE	LENGTH	SUBSTRING
CURTIME	LOCATE	UCASE
DATABASE	LTRIM	USER
DAYOFMONTH	MOD	YEAR
DAYOFWEEK	MONTH
Para más información sobre los argumentos y valores de retorno de las funciones escalares, consulte el Apéndice F de Microsoft ODBC SDK Programmer's Reference.


Nombres de tablas

Si utiliza el controlador de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox o Texto, los nombres de las tablas que aparecen en la cláusula FROM de la instrucción SELECT o DELETE, después de la cláusula INTO en la instrucción INSERT y después de UPDATE, CREATE TABLE y DROP TABLE, pueden contener una ruta válida, un nombre principal y una extensión en el nombre del archivo.

Si utiliza el nombre de una tabla en cualquier punto de una instrucción SQL, no podrá utilizar rutas ni extensiones, sólo se aceptará el nombre principal (por ejemplo, EMP FROM C:\ABC\EMP).

Se pueden emplear nombres de correlación (alias). Por ejemplo:

SELECT *
FROM C:\ABC\EMP T1
WHERE T1.COL1 = 'aaa'


Limitaciones de funciones de dominio agregado

No se puede utilizar una función de dominio agregado y una referencia de columna no agregada como argumentos para una sola instrucción SQL.


Limitaciones de la instrucción ALTER TABLE

Vea también

Si utiliza el controlador de dBASE, Microsoft FoxPro o Paradox, una vez creado un índice y agregado un nuevo registro, la estructura de la tabla no se podrá modificar con la instrucción ALTER TABLE, a menos que se elimine el índice y el contenido de la tabla.

El controlador de Microsoft Excel y Texto no admite la instrucción ALTER TABLE.


Limitaciones del predicado AND

Se admiten un máximo de 40.


Limitaciones de la instrucción CALL

(Esta limitación se aplica sólo al controlador de Microsoft Access)

Las expresiones no se admiten como parámetros para llamar a un procedimiento.


Limitaciones de los nombres de las columnas

Los nombres de columnas pueden contener cualquier carácter válido (por ejemplo, espacios). Si estos nombres contienen otros caracteres que no sean letras, números y guiones bajos, el nombre deberá estar delimitado entre estas comillas (`).

Si utiliza el controlador de Microsoft Access o Microsoft Excel, los nombres de las columnas no podrán contener más de 64 caracteres y los nombres que superen esta longitud generarán un error. Si emplea el controlador de Paradox, el número máximo de caracteres será 25. En cambio, si utiliza el controlador de Texto, los nombres de las columnas no podrán contener más de 64 caracteres y los nombres que superen esta longitud se truncarán.

Si utiliza el controlador de dBASE o Microsoft FoxPro, los caracteres con un valor ASCII superior a 127 se convertirán a guiones bajos.

Si utiliza el controlador de Microsoft Excel, los nombres de las columnas, si aparecen, deben encontrarse en la primera fila. Los nombres que en Microsoft Excel emplearían el carácter "!", deben aparecer entre estas comillas "`". El carácter "!" se convierte al carácter "$", ya que el carácter "!" no es válido en un nombre ODBC, aunque el nombre aparezca delimitado entre comillas. Todos los demás caracteres válidos de Microsoft Excel (salvo el carácter de canalización (|)) se pueden emplear en para nombres de columnas, incluidos los espacios. Para incluir espacios en nombres de columnas de Microsoft Excel, se debe utilizar un identificador delimitado. Los nombres de columnas no especificados serán sustituidos por nombres generados por el controlador, por ejemplo, "Col1" para la primera columna.

No se puede utilizar el carácter de canalización (|) para los nombres de columnas, independientemente de que el nombre aparezca delimitado entre comillas ("`").

Si utiliza el controlador de Texto, éste proporcionará un nombre predeterminado si no especifica el nombre de la columna. Por ejemplo, el controlador llamará a la primera columna F1, a la segunda F2, y así sucesivamente.


Limitaciones de la función CONVERT

Los fallos en la conversión de tipos tienen como resultado que se aplique un valor NULL a la columna afectada.

No se pueden convertir los tipos de datos DATE ni TIMESTAMP a otro tipo de datos (o al mismo) mediante la función CONVERT.


Limitaciones de la instrucción CREATE INDEX

Vea también

El controlador de Microsoft Excel o Texto no admite la instrucción CREATE INDEX.

Se puede definir un índice con 10 columnas como máximo. Si se incluyen más de 10 columnas en una instrucción CREATE INDEX, no se reconocerá el índice y se tratará la tabla como si no se hubiera creado el índice.

El controlador de dBASE no puede crear un índice para una columna LOGICAL.

Si utiliza el controlador de dBASE o Microsoft FoxPro, podrá mejorar el tiempo de respuesta en archivos grandes mediante la creación de un índice .MDX (o .NDX) en la columna (campo) especificada en las cláusulas WHERE de la instrucción SELECT. Los índices .MDX existentes se aplicarán automáticamente a los operadores BETWEEN y =, >, <, >=, =< en una cláusula WHERE y predicados LIKE, así como en predicados unidos.

Si utiliza el controlador de dBASE o Microsoft FoxPro, el índice creado por una instrucción CREATE UNIQUE INDEX no será único y podrá insertar los valores duplicados en la columna indexada. Sólo podrá agregar al índice un registro de un conjunto con valores clave idénticos.

Si utiliza el controlador de Paradox, deberá definir un índice único sobre un subconjunto contiguo de columnas de una tabla, incluida la primera columna. No puede actualizar una tabla con el controlador de Paradox si no define un índice único para la tabla.


Limitaciones de la instrucción CREATE TABLE

Si utiliza el controlador de Microsoft Access, Microsoft Excel o Paradox y no especifica la longitud de un texto o columna binaria (o especifica el valor 0), se establecerá el valor 255 como longitud de la columna.

En cambio, si utiliza el controlador de dBASE o Microsoft FoxPro y no especifica la longitud de un texto o columna binaria (o especifica el valor 0), se establecerá el valor 254 como longitud de la columna.

Se admiten un máximo de 255 columnas.

Si emplea el controlador de Microsoft Excel en un origen de datos de Microsoft Excel 5.0, 7.0, o 97, no podrá crear una hoja de trabajo con el mismo nombre que una hoja de trabajo eliminada anteriormente. En cambio, si utiliza este controlador para acceder a una versión 5.0, 7.0 o 97, la instrucción DROP TABLE borrará la hoja de trabajo, pero no eliminará su nombre.

Si utiliza el controlador de Paradox, no podrá agregar columnas una vez definido el índice para una tabla. Si la primera columna de la lista de argumentos de una instrucción CREATE TABLE crea un índice, no se podrá incluir una segunda columna en dicha lista.


Limitaciones de los cálculos de fechas

No se admiten los aritméticos en fechas para restar un tipo de datos DATE de otro tipo de datos DATE.


Limitaciones de la instrucción DELETE

El controlador de Microsoft Excel o Texto no admite la instrucción DELETE. Tenga en cuenta que el controlador de Texto sí admite la instrucción INSERT.

Ni el controlador de dBASE ni de Microsoft FoxPro admiten comprimir una tabla para quitar valores "deleted".

Para eliminar filas de una tabla con el controlador de Paradox, la tabla debe tener un índice único (clave principal Paradox).


Limitaciones de la palabra clave DISTINCT

No se admite para campos de texto largo (Microsoft Access) ni campos memo (dBASE o FoxPro).


Limitaciones de la instrucción DROP INDEX

El controlador de Microsoft Excel o Texto no admite la instrucción DROP INDEX.


Limitaciones de la instrucción DROP TABLE

Si utiliza el controlador de Microsoft Excel 5.0, 7.0 o 97, la instrucción DROP TABLE borrará la hoja de trabajo, pero no eliminará su nombre. Puesto que el nombre de la hoja de trabajo todavía existe en el libro de trabajo, no podrá crear otra hoja con el mismo nombre.


Limitaciones de la cláusula FROM

El número máximo de tablas en una cláusula FROM es 16.


Limitaciones de la cláusula HAVING

El número máximo de condiciones de búsqueda en una cláusula HAVING es 40.


Limitaciones de identificadores

Si un identificador contiene espacios o símbolos especiales, deberá estar delimitado entre estas comillas (`). Un nombre válido es una cadena formada por no más de 64 caracteres, de los cuales el primero no puede ser un espacio. Los nombres válidos no pueden incluir caracteres de control ni los siguientes caracteres especiales: ` | # * ¿ ? [ ] . ! $ .

No utilice las palabras reservadas que se muestran en la gramática SQL del Apéndice C de Microsoft ODBC Programmer's Reference (ni la forma abreviada de las mismas) como identificadores (es decir, nombres de tablas o columnas), a menos que las delimite con estas comillas (`).


Limitaciones de nombres de índices

Si utiliza el controlador de Paradox, los índices principales deberán tener el mismo nombre que la tabla sobre la que se han definido. Otros índices únicos y no únicos deben tener también el mismo nombre que la tabla sobre la que se han definido.


Limitaciones de la instrucción INSERT

Los datos introducidos se truncarán por la parte derecha sin ningún aviso en el caso de que superen la longitud de la columna.

Si intenta introducir un valor que está fuera del rango del tipo de datos de una columna, se insertará un valor NULL en la columna.

Si utiliza el controlador de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox o Texto, al introducir una cadena con una longitud cero en una columna, introducirá realmente un valor NULL.

Si utiliza el controlador de Microsoft Excel,. al introducir una cadena vacía en una columna, esta cadena se convertirá en un valor NULL. En esa columna, no tendrá efecto la instrucción de búsqueda SELECT ejecutada con una cadena vacía en la cláusula WHERE.

No podrá actualizar tablas con el controlador de Paradox si no define un índice único para la tabla. Esto no es así si se trata de una tabla vacía, que podrá actualizar con una sola fila, aunque no haya definido un índice único para la misma. Si inserta una sola fila en una tabla vacía que no tiene un índice único, la aplicación no podrá crear un índice único o introducir datos adicionales después de insertar esa fila.

Si utiliza el controlador de Texto, los valores NULL estarán representados por una cadena en blanco en archivos con longitud fija, pero no así en archivos delimitados. Por ejemplo, en la siguiente fila que contiene tres campos, el segundo campo es un valor NULL.

     "López:,, 123

Si utiliza el controlador de Texto, podrá introducir espacios a la izquierda en todos los valores de la columna. La longitud de las filas debe ser inferior o igual a 65.543 bytes.


Limitaciones del predicado LIKE

Si la longitud de los datos de una columna es superior a 255 caracteres, la comparación LIKE estará basada sólo en los primeros 255 caracteres.

Sólo se admite un predicado LIKE en un procedimiento con modelos constantes. Los controladores de Desktop Database admiten modelos coincidentes en predicados LIKE de SQL 92.

No se admite el uso de una cláusula de escape en un predicado LIKE.

No se debe realizar una comparación LIKE en una columna que contenga datos de tipo numérico o flotante. Los resultados pueden ser impredecibles. Para obtener más información, consulte Microsoft Jet Database Engine Programmers’s Guide.


Limitaciones de NOT NULL

No se admiten las limitaciones de NOT NULL en la instrucción CREATE TABLE.


Limitaciones de la cláusula ORDER BY

Si la instrucción SELECT contiene las cláusulas GROUP BY y ORDER BY, esta última podrá contener sólo una columna en el conjunto de resultados o una expresión en la cláusula GROUP BY.


Limitaciones de consultas de parámetros

Si utiliza el controlador de Microsoft Access, podrá llamar a consultas de parámetros utilizando la siguiente sintaxis: CALL nombreconsulta [(parámetro[,parámetro]...)].


Limitaciones de palabras reservadas

No utilice las palabras reservadas que se muestran en la gramática SQL del Apéndice C de Microsoft ODBC Programmer's Reference (ni la forma abreviada de las mismas) como identificadores (es decir, nombres de tablas o columnas), a menos que las delimite con estas comillas (`).


Limitaciones de funciones escalares

Sólo se admiten las funciones escalares utilizando el formato canónico de ODBC.


Limitaciones de SELECT DISTINCT

La palabra clave DISTINCT no es aplicable a datos binarios.


Limitaciones de la instrucción SELECT

En la instrucción SELECT, no puede unir una columna con funciones de dominio agregado con una columna que no tiene estas funciones.

La lista de selección de una instrucción SELECT que contenga una cláusula GROUP BY sólo podrá contener expresiones de esta cláusula o funciones de conjuntos.

No se admite el uso de un asterisco (para seleccionar todas las columnas) en una instrucción que contenga una cláusula GROUP BY. Deberá especificar los nombres de las columnas que va a seleccionar.

No se admite tampoco el uso de una barra vertical en una instrucción SELECT. Utilice un parámetro en esta instrucción si necesita hacer referencia al valor de un dato que contiene una barra vertical.

Si utiliza el alias de una columna en una instrucción SELECT, la palabra "as" deberá preceder al alias. Por ejemplo, "SELECT col1 as a from b." Sin esta palabra, la instrucción devolverá un error.

Si no introduce el nombre correcto de una columna en una instrucción SELECT, se devolverá el error SQLSTATE 07001, "Número de parámetros erróneo," en lugar del error SQLSTATE S0022, "No se encuentra la columna."

Si utiliza el controlador de Microsoft Excel,. al introducir una cadena vacía en una columna, esta cadena se convertirá en un valor NULL. En esa columna, no tendrá efecto la instrucción de búsqueda SELECT ejecutada con una cadena vacía en la cláusula WHERE.


Limitaciones de funciones de conjuntos

Las funciones de conjuntos (AVG, MAX, MIN y SUM) no admiten la palabra clave DISTINCT.


Limitaciones de orden

La longitud máxima de un criterio de ordenación en una cláusula GROUP BY o ORDER BY, una instrucción SELECT DISTINCT o una combinación externa, es de 255 bytes, mientras que la longitud máxima de todos los criterios de ordenación en una fila de este tipo es de 65.500 bytes.


Limitaciones de las cadenas

La longitud máxima de una cadena en una instrucción SQL es de 65.000 caracteres.

Si utiliza el controlador de Microsoft Access, sólo se admitirán constantes de cadenas SQL 92 (con comillas simples, no dobles).

No puede utilizar el carácter de canalización (|) en las cadenas, independientemente de que el carácter aparezca delimitado entre comillas ("`").

Para una máxima operatividad entre ellas, las aplicaciones deben pasar las  cadenas en parámetros, en lugar de cadenas encerradas entre comillas.


Limitaciones de los nombres de las tablas

Los nombres de tablas pueden contener cualquier carácter válido (por ejemplo, espacios). Si estos nombres contienen otros caracteres que no sean letras, números y guiones bajos, el nombre deberá estar delimitado entre estas comillas (`).

Si utiliza el controlador de Microsoft Excel, y el nombre de una tabla no está calificado por la referencia de una base de datos, se presupone la base de datos predeterminada. Si un nombre en Microsoft Excel incluye el carácter "!", éste se convertirá automáticamente en el carácter ‘$’.

Se admite el nombre de las tablas de Microsoft Excel que hacen referencia a <nombre de archivo> para archivos en Microsoft Excel 3.0 y 4.0. También se admite el nombre de las tablas de Microsoft Excel que hacen referencia a <nombre de libro de trabajo> para archivos en Microsoft Excel 5.0, 7.0, o 97.

Si utiliza el controlador de dBASE o Microsoft FoxPro, los caracteres con un valor ASCII superior a 127 se convertirán a guiones bajos.

Si emplea el controlador de Microsoft Access, el nombre de la tabla estará limitado a 64 caracteres.

Si utiliza el controlador de dBASE, Microsoft Excel 3.0 o 4.0, Microsoft FoxPro, Paradox o Texto, no deberá emplear las palabras clave especiales de MS-DOS CON, AUX, LPT1 y LPT2 como nombres de tablas.


Limitaciones de referencias de tablas

Puede incluir un máximo de 16 referencias de tablas en cualquier instrucción de una consulta.


Limitaciones de la instrucción UPDATE

No puede actualizar una tabla con el controlador de Paradox si no define un índice único para la tabla (clave principal de Paradox).

El controlador de Texto no admite esta instrucción.

Si utiliza el controlador de Microsoft Excel, puede actualizar valores, pero no podrá eliminar filas de una tabla basada en una hoja de cálculo de Microsoft Excel. Como resultado, no se considera que el controlador de Microsoft Excel admita oficialmente la instrucción UPDATE. Sólo se considera que admite la instrucción INSERT.


Limitaciones de vistas

No se admiten con los controladores de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox o Texto.


Limitaciones de la cláusula WHERE

El número máximo de cláusulas en una cláusula WHERE es 40.

Las columnas LONGVARBINARY y LONGVARCHAR se pueden comparar a literales con una longitud de hasta 255 caracteres, pero no se pueden comparar utilizando parámetros.


Limitaciones de la cláusula WHERE CURRENT OF

No se admite.


Índices en dBASE (Avanzado)
Índices en dBASE (Avanzada)

Vea también

El controlador de dBASE de ODBC abre y actualiza automáticamente archivos de índices en dBASE IV. Para asociar archivos .NDX de dBASE III a archivos de dBASE, deberá utilizar el cuadro de diálogo Select Indexes que se muestra mediante la opción Panel de control de ODBC.

Las siguientes limitaciones son aplicables a la creación de índices en dBASE:

•	Todos los nombres de columnas deben ser válidos.

•	Todas las columnas deben encontrarse en el mismo orden ascendente o descendente.

•	La longitud de las columnas de texto debe ser inferior a 100 bytes.

•	Si hay más de una columna, todas deben ser columnas de texto y la suma de sus tamaños no debe superar 100 bytes.

•	No se pueden aplicar índices a campos memo.

•	No se debe especificar un índice para el conjunto de campos actual (es decir, no se permiten índices duplicados).

•	El nombre del índice debe coincidir con la convención de nomenclatura para índices en dBASE. dBASE III requiere que cada índice esté almacenado en un archivo independiente, cada uno de ellos con la extensión .NDX. En dBASE IV, se crean los índices como rótulos que se almacenan en un solo archivo .MDX. Este archivo tiene el mismo nombre base que el archivo de la base de datos (por ejemplo, EMP.MDX es el archivo del índice correspondiente a la base de datos EMP.DBF).


Índices en Microsoft FoxPro (Avanzado)
Índices en Microsoft FoxPro (Avanzada)

Vea también

El controlador de Microsoft FoxPro de ODBC abre y actualiza automáticamente archivos de índices en Microsoft FoxPro 2.5 o 2.6. Para asociar archivos .IDX de Microsoft FoxPro 2.0 a archivos de Microsoft FoxPro, deberá utilizar la opción Panel de control de ODBC.

Las siguientes limitaciones son aplicables a la creación de índices en Microsoft FoxPro:

•	Todos los nombres de columnas deben ser válidos.

•	Todas las columnas deben encontrarse en el mismo orden ascendente o descendente.

•	La longitud de las columnas de texto debe ser inferior a 100 bytes.

•	Si hay más de una columna, todas deben ser columnas de texto y la suma de sus tamaños no debe superar 100 bytes.

•	No se pueden aplicar índices a campos memo.

•	No se debe especificar un índice para el conjunto de campos actual (es decir, no se permiten índices duplicados).

•	El nombre del índice debe coincidir con la convención de nomenclatura para índices en Microsoft FoxPro. Microsoft FoxPro 2.0 requiere que cada índice esté almacenado en un archivo independiente, cada uno de ellos con la extensión .IDX. En Microsoft FoxPro 2.5/2.6, se crean los índices como rótulos que se almacenan en un solo archivo .CDX. Este archivo tiene el mismo nombre base que el archivo de la base de datos (por ejemplo, EMP.CDX es el archivo del índice correspondiente a la base de datos EMP.DBF).


CREATE INDEX para Paradox (Avanzado)
CREATE INDEX para Paradox (Avanzada)

Vea también

La sintaxis de la instrucción CREATE INDEX para el controlador de Paradox de ODBC es la siguiente:

CREATE [UNIQUE] INDEX nombreíndice
   ON nombretabla
   (identificadorcolumnas [ASC]
    [, identificadorcolumnas [ASC]...])

El controlador de Paradox de ODBC no admite la palabra clave DESC de la gramática SQL de ODBC para la instrucción CREATE INDEX. El argumento nombretabla puede especificar la ruta completa de la tabla.

Si se especifica la palabra clave UNIQUE, el controlador de Paradox de ODBC creará un índice único. El primer índice único se creará como índice principal. Será un archivo de claves principales de Paradox llamado nombretabla.PX. Los índices principales están sujetos a las siguientes limitaciones:

•	El índice principal debe crearse antes de agregar filas a la tabla.

•	Se debe definir un índice principal sobre las primeras "n" columnas de una tabla.

•	Sólo se permite un índice principal por cada tabla.

•	No se puede actualizar una tabla con el controlador de Paradox si no se define un índice principal para la tabla. (Tenga en cuenta que esto no es así para tablas vacías, que se pueden actualizar aunque no se haya definido un índice único).

•	El argumento nombreíndice para un índice principal debe ser el mismo que el nombre base de la tabla, tal como requiere Paradox.

Si se omite la palabra clave UNIQUE, el controlador de Paradox de ODBC creará un índice no único. Este índice consiste en dos archivos de índices secundarios de Paradox llamados nombretabla.Xnn y nombretabla.Ynn, donde nn es el número de la columna de la tabla. Los índices no únicos están sujetos a las siguientes limitaciones:

•	Antes de crear un índice no único para una tabla, debe existir un índice principal de la misma.

•	Para Paradox 3.x, el argumento nombreíndice para índices que no sean principales (únicos y no únicos) debe ser el mismo que el nombre de la columna. Para Paradox 4.x y 5.x, el nombre de este índice puede ser, pero no necesariamente, el mismo que el nombre de la columna.

•	Sólo se puede especificar una columna para un índice no único.

No se pueden agregar columnas después de definir un índice para una tabla. Si la primera columna de la lista de argumentos de una instrucción CREATE TABLE crea un índice, no se podrá incluir una segunda columna en dicha lista.

Por ejemplo, para emplear el número de pedidos y las columnas de los números de líneas como el índice único de la tabla SO_LINES, utilice la instrucción:

CREATE UNIQUE INDEX SO_LINES
   ON SO_LINES (SONum, LineNum)

Para emplear la columna de números de partes como índice no único de la tabla SO_LINES, utilice la instrucción:

CREATE INDEX NúmPart
   ON SO_LINES (NúmPart)

Tenga en cuenta que si aplica dos instrucciones CREATE INDEX, la primera instrucción siempre creará un índice principal con el mismo nombre que la tabla, mientras que la segunda instrucción creará siempre un índice no único con el mismo nombre de la columna. Estos índices recibirán estos nombres aunque introduzca nombres distintos en las instrucciones CREATE INDEX y aunque etiquete el índice de la segunda instrucción CREATE INDEX como UNIQUE.


Tipos de datos Microsoft Access (Avanzada)

En la siguiente tabla se muestran los tipos de datos de Microsoft Access empleados para crear tablas y los tipos de datos de SQL de ODBC.

Tipos de datos de Microsoft  Access	Tipos de datos  (CREATETABLE)	Tipos de datos de SQL de  ODBC
BINARY	BINARY	SQL_BINARY
BIT	BIT	SQL_BIT
COUNTER	COUNTER	SQL_INTEGER
CURRENCY	CURRENCY	SQL_NUMERIC
DATE/TIME	DATETIME	SQL_TIMESTAMP
LONG BINARY	LONGBINARY	SQL_LONGVARBINARY
LONG TEXT	LONGTEXT	SQL_LONGVARCHAR
MEMO	LONGTEXT	SQL_LONGVARCHAR
NUMBER (FieldSize= SINGLE)	SINGLE	SQL_REAL
NUMBER (FieldSize= DOUBLE)	DOUBLE	SQL_DOUBLE
NUMBER (FieldSize= BYTE)	UNSIGNED BYTE	SQL_TINYINT
NUMBER (FieldSize= INTEGER)	SHORT	SQL_SMALLINT
NUMBER (FieldSize= LONG INTEGER)	LONG	SQL_INTEGER
OLE	LONGBINARY	SQL_LONGVARBINARY
TEXT	VARCHAR	SQL_VARCHAR
VARBINARY	VARBINARY	SQL_VARBINARY
Nota   SQLGetTypeInfo devuelve tipos de datos de ODBC. No devolverá todos los tipos de datos de Microsoft Access si se asigna más de un tipo de Microsoft Access al mismo tipo de datos de SQL de ODBC. Se admiten todas las conversiones del Apéndice D de Microsoft ODBC Programmer's Reference para los tipos de datos de SQL mostrados en la tabla anterior.

En la siguiente tabla se muestran las limitaciones de los tipos de datos de Microsoft Access:

Tipo de datos	Descripción
BINARY, VARBINARY y VARCHAR	Si crea una columna BINARY, VARBINARY o VARCHAR con una longitud cero o sin especificar, se definirá realmente una columna con una longitud de 255 bytes.
BYTE	Aunque no asigne un campo NUMBER de Microsoft Access con un campo FieldSize igual a BYTE, puede introducir un número negativo en el campo si utiliza el controlador de Microsoft Access.
CHAR, LONGVARCHAR, y VARCHAR	Un literal con cadenas de caracteres puede contener cualquier carácter ANSI (1-255 decimales). Utilice dos comillas simples consecutivas ('') para representar una comilla simple ('). Deberá emplear los procedimientos correspondientes para pasar datos de caracteres, si utiliza caracteres especiales en una columna con este tipo de datos.
DATE	Los valores de fecha debe estar delimitados según el formato canónico de ODBC o por el delimitador de fecha y hora ("#"). De lo contrario, Microsoft Access tratará el valor como una expresión aritmética y no comunicará un aviso o error.  Por ejemplo, deberá representar la fecha "5 de marzo de 1996" como {d ‘1996-03-05’} o #03/05/1996#; de lo contrario, si sólo se introduce 03/05/1993, Microsoft Access evaluará esto como 3 dividido entre 5 dividido entre 1996. Este valor se redondeará hasta el número entero 0 y puesto que el día cero está asignado a 1899-12-31, ésta será la fecha que se utilice. No se pueden utilizar caracteres de canalización (|) en un valor de fecha, aunque la fecha esté delimitada con estas comillas (`).
Puede encontrar más información sobre limitaciones de los tipos de datos en Limitaciones de tipos de datos.


Tipos de datos dBASE (Avanzado)
Tipos de datos dBASE (Avanzada)

En la siguiente tabla se muestra cómo se asignan tipos de datos de dBASE a tipos de datos de SQL de ODBC. Tenga en cuenta que no se admiten todos los tipos de datos de SQL.

Tipos de datos de  dBASE	Tipos de datos de ODBC
CHAR	SQL_VARCHAR
DATE	SQL_DATE
FLOAT *	SQL_DOUBLE
LOGICAL	SQL_BIT
MEMO	SQL_LONGVARCHAR
NUMERIC (BCD)	SQL_DOUBLE
OLEOBJECT *	SQL_LONGBINARY
* Sólo  válido para la versión 5.x de dBASE

La precisión de dBASE III permite números con exponentes de hasta dos dígitos y dBASE IV números con exponentes de hasta tres dígitos. Puesto que los números se almacenan como texto, luego se convierten en números. Si el número que se va a convertir no se ajusta a un campo, pueden producirse resultados impredecibles.

Mientras que dBASE permite especificar una precisión y una escala con un tipo de datos NUMERIC, el controlador de dBASE de ODBC no los admite. Este controlador devuelve siempre una precisión de 15 y una escala de 0 para este tipo de datos.

Las columnas creadas con el tipo de datos NUMERIC utilizando el controlador de dBASE de ODBC se asignan al tipo de datos SQL_DOUBLE de ODBC. Así, se puede aplicar el redondeo a los datos de estas columnas. Este comportamiento no es el mismo que el del tipo de datos NUMERIC en dBASE (tipo N), que es BDC (Decimal Codificado Binario).

Nota   SQLGetTypeInfo devuelve tipos de datos de SQL de ODBC. Se admiten todas las conversiones del Apéndice D de Microsoft ODBC SDK Programmer's Reference para los tipos de datos de SQL mostrados anteriormente en este tema.

En la siguiente tabla se muestran las limitaciones de los tipos de datos de dBASE:

Tipo de datos	Descripción
CHAR	Si crea una columna CHAR con una longitud cero o sin especificar, se definirá realmente una columna con una longitud de 254 bytes.
Datos cifrados	El controlador de dBASE no admite tablas de dBASE cifradas.
LOGICAL	El controlador de dBASE no puede crear un índice para una columna LOGICAL.
MEMO	La longitud máxima de una columna MEMO es 65.500 bytes.
Puede encontrar más información sobre limitaciones de los tipos de datos en Limitaciones de tipos de datos.


Tipos de datos Microsoft Excel (Avanzada)

En la siguiente tabla se muestra cómo se asignan tipos de datos del controlador de Microsoft Excel a tipos de datos de SQL de ODBC. Este controlador asigna estos tipos de datos a columnas de tablas en Microsoft Excel tomando como base los datos de la columna.

Tipos de datos de  Microsoft Excel	Tipos de datos de ODBC
CURRENCY	SQL_NUMERIC
DATETIME	SQL_TIMESTAMP
LOGICAL	SQL_BIT
NUMBER	SQL_DOUBLE
TEXT	SQL_VARCHAR
Nota   SQLGetTypeInfo devuelve tipos de datos de SQL de ODBC. Se admiten todas las conversiones del Apéndice D de Microsoft ODBC SDK Programmer's Reference para los tipos de datos de SQL mostrados anteriormente en este tema.

En la siguiente tabla se muestran las limitaciones de los tipos de datos de Microsoft Excel:

Tipo de datos	Descripción
Datos cifrados	El controlador de Microsoft Excel no puede leer datos codificados.
Cadenas de error	El controlador de Microsoft Excel no puede devolver un cadena de caracteres para los valores de error de Microsoft Excel (#N/A!, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME? y #NULL!), pero devuelve en su lugar un valor NULL.
LOGICAL	El valor de una columna LOGICAL se devuelve en un búfer SQL_C_CHAR como 0 o 1.
NUMBER	Si crea una columna de números enteros, podrá introducir los números que sean demasiado grandes para ese tipo de datos y también los datos que contengan valores que no sean números enteros, teniendo como resultado que la columna puede convertirse a SQL_DOUBLE.
TEXT	Si las filas de una columna contienen más de un tipo de datos de Microsoft Excel, el controlador de Microsoft Excel de ODBC asignará el tipo de datos SQL_VARCHAR a la columna. Pero, hay una excepción: si la columna contiene sólo dos o tres de los tipos de datos de fecha y hora (DATE, TIME y DATETIME), el controlador de Microsoft Excel de ODBC asignará el tipo de datos SQL_TIMESTAMP a la columna. Si crea un columna TEXT con una longitud cero o sin especificar, se definirá realmente una columna con una longitud de 255 bytes. Un literal con cadenas de caracteres puede contener cualquier carácter ANSI (1-255 decimales). Utilice dos comillas simples consecutivas ('') para representar un comilla simple ('). Si introduce un valor NULL en una columna con un tipo de datos que no sea SQL_VARCHAR, el tipo de datos de la columna se cambiará a SQL_VARCHAR.
Puede encontrar más información sobre limitaciones de los tipos de datos en Limitaciones de tipos de datos.


Tipos de datos Microsoft FoxPro (Avanzado)
Tipos de datos Microsoft FoxPro (Avanzada)

En la siguiente tabla se muestra cómo se asignan tipos de datos de Microsoft FoxPro a tipos de datos de SQL de ODBC. Tenga en cuenta que no se admiten todos los tipos de datos de SQL.

Tipos de datos de  Microsoft FoxPro	Tipos de datos de ODBC
CHAR	SQL_VARCHAR
DATE	SQL_DATE
GENERAL	SQL_LONGVARBINARY
LOGICAL	SQL_BIT
MEMO	SQL_LONGVARCHAR
NUMERIC (BCD)	SQL_DOUBLE
La precisión de Microsoft FoxPro 2.0 permite números con exponentes de hasta dos dígitos, mientras que Microsoft FoxPro 2.5 y 2.6 permiten números con exponentes de hasta tres dígitos. Puesto que los números se almacenan como texto, luego se convierten en números. Si el número que se va a convertir no se ajusta a un campo, pueden producirse resultados impredecibles.

Mientras que Microsoft FoxPro permite especificar una precisión y una escala con un tipo de datos NUMERIC, el controlador de Microsoft FoxPro de ODBC no los admite. Este controlador devuelve siempre una precisión de 15 y una escala de 0 para este tipo de datos.

Las columnas creadas con el tipo de datos NUMERIC utilizando el controlador de Microsoft FoxPro de ODBC se asignan al tipo de datos SQL_DOUBLE de ODBC. Así, se puede aplicar el redondeo a los datos de estas columnas. Este comportamiento no es el mismo que el del tipo de datos NUMERIC en Microsoft FoxPro (tipo N), que es BDC (Decimal Codificado Binario).

Nota   SQLGetTypeInfo devuelve tipos de datos de SQL de ODBC. Se admiten todas las conversiones del Apéndice D de Microsoft ODBC SDK Programmer's Reference para los tipos de datos de SQL mostrados anteriormente en este tema.

En la siguiente tabla se muestran las limitaciones de los tipos de datos de Microsoft FoxPro.

Tipo de datos	Descripción
CHAR	Si crea una columna CHAR con una longitud cero o sin especificar, se definirá realmente una columna con una longitud de 254 bytes.
GENERAL	Sólo los archivos de las versiones 2.5 y 2.6 de Microsoft FoxPro admiten el tipo de datos GENERAL.
MEMO	La longitud máxima de una columna MEMO es 65.500 bytes.
Puede encontrar más información sobre limitaciones de los tipos de datos en Limitaciones de tipos de datos.


Tipos de datos Paradox (Avanzada)

El controlador de Paradox de ODBC asigna tipos de datos de Paradox a tipos de datos de SQL de ODBC. En la siguiente tabla se muestran todos los tipos de Paradox y los tipos de datos de SQL de ODBC a los que se asignan.

Tipos de datos de Paradox	Tipos de datos de ODBC
ALPHANUMERIC	SQL_VARCHAR
AUTOINCREMENT #	SQL_INTEGER
BCD #	SQL_DOUBLE
BYTES #	SQL_BINARY
DATE	SQL_DATE
IMAGE *	SQL_LONGVARBINARY
LOGICAL #	SQL_BIT
LONG #	SQL_INTEGER
MEMO *	SQL_LONGVARCHAR
MONEY #	SQL_DOUBLE
NUMBER	SQL_DOUBLE
SHORT	SQL_SMALLINT
TIME #	SQL_TIMESTAMP
TIMESTAMP #	SQL_TIMESTAMP
* Sólo válido para las versiones 4.x y 5.x de Paradox.

# Sólo válido para la versión 5.x de Paradox.

Nota   SQLGetTypeInfo devuelve tipos de datos de SQL de ODBC. Se admiten todas las conversiones del Apéndice D de Microsoft ODBC SDK Programmer's Reference para los tipos de datos de SQL mostrados anteriormente en este tema.

En la siguiente tabla se muestran las limitaciones de los tipos de datos de Paradox:

Tipo de datos	Descripción
ALPHANUMERIC	Si crea una columna ALPHANUMERIC con una longitud cero o sin especificar, se definirá realmente una columna con una longitud de 255 bytes.
BYTES	Si introduce un valor NULL en una columna binaria con el controlador de Paradox5, cambiará a 0.
LONG	El valor negativo máximo que admite el controlador de Paradox para el tipo de datos LONG en Paradox 5.x no es -2^31 (-2147483648), como debería ser, puesto que este tipo se asigna al tipo de datos SQL_INTEGER de ODBC. El valor negativo máximo admitido es en realidad -2^31 + 1 (-2147483647).
TIMESTAMP	Si introduce un valor en una columna TIMESTAMP con el controlador de Paradox y después lo recupera de la columna, el valor recuperado puede diferir del valor introducido hasta en 1 segundo debido al redondeo.
Puede encontrar más información sobre limitaciones de los tipos de datos en Limitaciones de tipos de datos.


Tipos de datos Texto (Avanzada)

En la siguiente tabla se muestra cómo se asignan tipos de datos de Text a tipos de datos de SQL de ODBC. Tenga en cuenta que el controlador de Texto no admite todos los tipos de datos de SQL de ODBC.

Tipos de datos de Texto	Tipos de datos de ODBC
CHAR	SQL_VARCHAR
DATETIME	SQL_TIMESTAMP
FLOAT	SQL_DOUBLE
INTEGER	SQL_INTEGER
LONGCHAR	SQL_LONGVARCHAR
Nota   SQLGetTypeInfo devuelve tipos de datos de ODBC. Se admiten todas las conversiones del Apéndice D de Microsoft ODBC Programmer's Reference para los tipos de datos de SQL mostrados en la tabla anterior.

En la siguiente tabla se muestran las limitaciones de los tipos de datos de Texto:

Tipo de datos	Descripción
CHAR	Si crea una columna CHAR con una longitud cero o sin especificar, se definirá realmente una columna con una longitud de 255 bytes. En archivos delimitados, una columna CHAR puede o no tener comillas dobles delimitadoras al comienzo y al final. En archivos con una longitud fija, las comillas dobles no se emplean como delimitadores.
DATETIME	MM-DD-AA (por ejemplo, 01-17-92) MMM-DD-AA (por ejemplo, Ene-17-92) DD-MMM-AA (por ejemplo, 17-Ene-92) AAAA-MM-DD (por ejemplo, 1992-01-17) AAAA-MMM-DD (por ejemplo, 1992-Ene-17) En una tabla no se permiten separadores de fechas combinadas. El método ISAM de Text asigna un formato americano o europeo al campo DATETIME, dependiendo de la instalación internacional del Panel de control de Windows.
FLOAT	El ancho máximo incluye puntos decimales y signos. En el archivo SCHEMA.INI, el ancho se indica de la siguiente manera: 14,083 es FLOAT Width 6 -14,083 es FLOAT Width 7 +14,083 es FLOAT Width 7 14083, es FLOAT Width 6 ODBC devuelve siempre 8 para las columnas FLOAT. Las columnas FLOAT pueden tener una notación científica, por ejemplo: -3.04E+2 is Float Width 8 25E4 is Float Width 4 Nota   No puede combinar notaciones científicas y decimales en un columna. Los valores NULL están representados por una cadena en blanco en archivos con una longitud fija, pero se omiten en archivos delimitados. Puede introducir espacios a la izquierda en los tipos de datos FLOAT.
INTEGER	Los valores válidos para las columnas INTEGER van desde 32767 a -32766. En el archivo SCHEMA.INI, el ancho se indica de la siguiente manera: 14083 is INTEGER Width 5 0 is INTEGER Width 1 ODBC devuelve siempre 4 para las columnas INTEGER. El ancho máximo puede incluir un signo. El valor máximo para el ancho de las columnas INTEGER es 11, aunque puede ser mayor debido a los espacios en blanco que se permiten en las tablas con formato fijo.
LONGCHAR	El límite teórico del ancho de las columnas LONGCHAR de una tabla delimitada o con una longitud fija es 65500 KB. Es más probable que el método ISAM de Texto proporcione un soporte fiable de hasta aproximadamente 32 KB.
Puede encontrar más información sobre limitaciones de los tipos de datos en Limitaciones de tipos de datos.


Limitaciones de tipos de datos (Avanzado)
Limitaciones de tipos de datos (Avanzada)

Los controladores de Desktop Database de Microsoft ODBC imponen las siguientes limitaciones a los tipos de datos:

Tipo de datos	Descripción
Todos los tipos de datos	Los fallos en la conversión de tipos tienen como resultado que se aplique un valor NULL a la columna afectada.
BINARY	Si crea una columna BINARY con una longitud cero, se definirá realmente una columna con una longitud de 255 bytes.
DATE	No se puede convertir el tipo de datos DATE a otro tipo de datos (o al mismo) mediante la función CONVERT.
DECIMAL (Numérico exacto)	No se admite.
Punto flotante	El número de posiciones decimales en un número de punto flotante puede estar limitado por el conjunto de formatos numéricos en la sección Internacional del Panel de control de Windows.
TIMESTAMP	No se puede convertir el tipo de datos TIMESTAMP al mismo tipo mediante la función CONVERT.
TINYINT	Los valores TINYINT no contienen signos.
Cadenas de longitud cero	Si utiliza el controlador de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox o Texto, al introducir una cadena con una longitud cero en una columna, introducirá realmente un valor NULL.


Mensajes de error (Avanzado)
Mensajes de error (Avanzada)

Si se produce un error, los controladores de Desktop Database de Microsoft ODBC devuelven el número de error nativo, el SQLSTATE (un código de error de ODBC) y un mensaje de error.

Error nativo

Error nativo Los controladores de Desktop Database generan códigos de error negativos. Los códigos de error nativo se generan con Microsoft Jet. Para obtener más información, consulte Microsoft Jet Database Engine Programmers’s Guide.

SQLSTATE

Para los errores que se producen en el origen de datos, el controlador de ODBC asigna el error nativo devuelto al SQLSTATE apropiado. Para los errores detectados con el controlador de ODBC o el Administrador de controladores, ambos generan el SQLSTATE apropiado.

Mensaje de error

Para los errores que se producen en el origen de datos, el controlador de ODBC devuelve un mensaje de error que le devolvió la Biblioteca de archivos de ODBC. Para los errores que se producen en el controlador de ODBC o el Administrador de controladores, el controlador devuelve un mensaje de error basado en el texto asociado al SQLSTATE.

El formato de los mensajes de error es el siguiente:

[proveedor][componenteODBC][origendatos]textomensaje

donde los prefijos entre corchetes ([ ]) identifican la ubicación del error. Si se produce el error en el Administrador de controladores, no se proporciona origendatos. Si el error se produce en el origen de datos, los prefijos [proveedor] y [componenteODBC] identifican el proveedor y el nombre del componente de ODBC que recibió el error del origen de datos.

En la siguiente tabla se muestran los mensajes de error que devuelven el Administrador de controladores y el método ISAM para controladores:

Mensaje de error	Ubicación del error
[Microsoft][Administrador de controladores de ODBC] textomensaje	Administrador de controladores (ODBC32.DLL)
[Microsoft][ nombre del controlador de ODBC] textomensaje	Método ISAM para controladores (vea Tabla de métodos ISAM para controladores)


Valores devueltos por SQLGetInfo (Programación)

En la siguiente tabla se muestran las #definiciones del lenguaje C para el argumento aTipoInfo y los valores correspondientes devueltos por SQLGetInfo. Esta información se puede recuperar pasando las #definiciones del lenguaje C a SQLGetInfo en el argumento aTipoInfo. Si SQLGetInfo devuelve una máscara de 32 bits, una barra vertical (|) representará un OR. Para más información sobre los valores que devuelve SQLGetInfo, consulte Microsoft ODBC SDK Programmer's Reference, Version 2.0.

SQL_ACCESSIBLE_PROCEDURES

SQL_ACCESSIBLE_TABLES

SQL_ACTIVE_CONNECTIONS

SQL_ACTIVE_STATEMENTS

SQL_ALTER_TABLE

SQL_BOOKMARK_PERSISTENCE

SQL_COLUMN_ALIAS

SQL_CONCAT_NULL_BEHAVIOR

SQL_CONVERT_BIGINT

SQL_CONVERT_BINARY

SQL_CONVERT_BIT

SQL_CONVERT_CHAR

SQL_CONVERT_DATE

SQL_CONVERT_DECIMAL

SQL_CONVERT_DOUBLE

SQL_CONVERT_FLOAT

SQL_CONVERT_FUNCTIONS

SQL_CONVERT_INTEGER

SQL_CONVERT_LONGVARBINARY

SQL_CONVERT_LONGVARCHAR

SQL_CONVERT_NUMERIC

SQL_CONVERT_REAL

SQL_CONVERT_SMALLINT

SQL_CONVERT_TIME

SQL_CONVERT_TIMESTAMP

SQL_CONVERT_TINYINT

SQL_CONVERT_VARBINARY

SQL_CONVERT_VARCHAR

SQL_CORRELATION_NAME

SQL_CURSOR_COMMIT_BEHAVIOR

SQL_CURSOR_ROLLBACK_BEHAVIOR

SQL_DATA_SOURCE_NAME

SQL_DATA_SOURCE_READ_ONLY

SQL_DATABASE_NAME

SQL_DBMS_NAME

SQL_DBMS_VER

SQL_DEFAULT_TXN_ISOLATION

SQL_DRIVER_HDBC

SQL_DRIVER_HENV

SQL_DRIVER_HLIB

SQL_DRIVER_HSTMT

SQL_DRIVER_NAME

SQL_DRIVER_ODBC_VER

SQL_DRIVER_VER

SQL_EXPRESSIONS_IN_ORDERBY

SQL_FETCH_DIRECTION

SQL_FILE_USAGE

SQL_GETDATA_EXTENSIONS

SQL_GROUP_BY

SQL_IDENTIFIER_CASE

SQL_IDENTIFIER_QUOTE_CHAR

SQL_KEYWORDS

SQL_LIKE_ESCAPE_CLAUSE

SQL_LOCK_TYPES

SQL_MAX_BINARY_LITERAL_LEN

SQL_MAX_CHAR_LITERAL_LEN

SQL_MAX_COLUMN_NAME_LEN

SQL_MAX_COLUMNS_IN_GROUP_BY

SQL_MAX_COLUMNS_IN_INDEX

SQL_MAX_COLUMNS_IN_ORDER_BY

SQL_MAX_COLUMNS_IN_SELECT

SQL_MAX_COLUMNS_IN_TABLE

SQL_MAX_CURSOR_NAME_LEN

SQL_MAX_INDEX_SIZE

SQL_MAX_OWNER_NAME_LEN

SQL_MAX_PROCEDURE_NAME_LEN

SQL_MAX_QUALIFIER_NAME_LEN

SQL_MAX_ROW_SIZE

SQL_MAX_ROW_SIZE_INCLUDES_LONG

SQL_MAX_STATEMENT_LEN

SQL_MAX_TABLE_NAME_LEN

SQL_MAX_TABLES_IN_SELECT

SQL_MAX_USER_NAME_LEN

SQL_MULT_RESULT_SETS

SQL_MULTIPLE_ACTIVE_TXN

SQL_NEED_LONG_DATA_LEN

SQL_NON_NULLABLE_COLUMNS

SQL_NULL_COLLATION

SQL_NUMERIC_FUNCTIONS

SQL_ODBC_API_ CONFORMANCE

SQL_ODBC_SAG_CLI_ CONFORMANCE

SQL_ODBC_SQL_CONFORMANCE

SQL_ODBC_SQL_OPT_IEF

SQL_ODBC_VER

SQL_OJ_CAPABILITIES

SQL_ORDER_BY_COLUMNS_IN_SELECT

SQL_OUTER_JOINS

SQL_OWNER_TERM

SQL_OWNER_USAGE

SQL_POS_OPERATIONS

SQL_POSITIONED_STATEMENTS

SQL_PROCEDURE_TERM

SQL_PROCEDURES

SQL_QUALIFIER_LOCATION

SQL_QUALIFIER_NAME_SEPARATOR

SQL_QUALIFIER_TERM

SQL_QUALIFIER_USAGE

SQL_QUOTED_IDENTIFIER_CASE

SQL_ROW_UPDATES

SQL_SCROLL_CONCURRENCY

SQL_SCROLL_OPTIONS

SQL_SEARCH_PATTERN_ESCAPE

SQL_SERVER_NAME

SQL_SPECIAL_CHARACTERS

SQL_STATIC_SENSITIVITY

SQL_STRING_FUNCTIONS

SQL_SUBQUERIES

SQL_SYSTEM_FUNCTIONS

SQL_TABLE_TERM

SQL_TIMEDATE_ADD_INTERVALS

SQL_TIMEDATE_DIFF_INTERVALS

SQL_TIMEDATE_FUNCTIONS

SQL_TXN_CAPABLE

SQL_TXN_ISOLATION_OPTION

SQL_UNION

SQL_USER_NAME


SQL_ACCESSIBLE_PROCEDURES;
SQL_ACCESSIBLE_PROCEDURES

"Y"
(Microsoft Access)

"N"
(dBASE, Microsoft Excel, Microsoft FoxPro, Paradox, Text)


SQL_ACCESSIBLE_TABLES

"Y"


SQL_ACTIVE_CONNECTIONS

64


SQL_ACTIVE_STATEMENTS

0


SQL_ALTER_TABLE

SQL_AT_ADD_COLUMN |
SQL_AT_DROP_COLUMN
(Microsoft Access, dBASE, Microsoft FoxPro, Paradox)

0
(Microsoft Excel, Text)


SQL_BOOKMARK_PERSISTENCE;

SQL_BP_SCROLL |
SQL_BP_UPDATE (1)

1 Los marcadores persisten después de una ocurrencia, pero no después de una repetición.


SQL_COLUMN_ALIAS

"Y"


SQL_CONCAT_NULL_BEHAVIOR

SQL_CB_NON_NULL


SQL_CONVERT_BIGINT

0


SQL_CONVERT_BINARY;
SQL_CONVERT_BINARY

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_BIT

0


SQL_CONVERT_CHAR

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_DATE

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_DECIMAL;
SQL_CONVERT_DECIMAL

0


SQL_CONVERT_DOUBLE

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_FLOAT

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_FUNCTIONS

SQL_FN_CVT_CONVERT


SQL_CONVERT_INTEGER

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_LONGVARBINARY;
SQL_CONVERT_LONGVARBINARY

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_LONGVARCHAR

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_NUMERIC;
SQL_CONVERT_NUMERIC

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_REAL

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_SMALLINT

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_TIME

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_TIMESTAMP;
SQL_CONVERT_TIMESTAMP

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_TINYINT

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_VARBINARY

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CONVERT_VARCHAR

SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_VARCHAR


SQL_CORRELATION_NAME;
SQL_CORRELATION_NAME

SQL_CN_DIFFERENT


SQL_CURSOR_COMMIT_BEHAVIOR

SQL_CB_CLOSE


SQL_CURSOR_ROLLBACK_BEHAVIOR

SQL_CB_CLOSE


SQL_DATA_SOURCE_NAME

El DSN del archivo ODBC.INI o "", si se utiliza la palabra clave DRIVER en este archivo.


SQL_DATA_SOURCE_READ_ONLY

"N"
(Microsoft Access, dBASE, Microsoft FoxPro, Paradox)

"Y"
(Microsoft Excel, Text)


SQL_DATABASE_NAME

Nombre del archivo (Microsoft Access, Microsoft Excel 5.0/7.0//97)

Directorio actual de la base de datos (dBASE, Microsoft Excel 3.0/4.0, Microsoft FoxPro, Paradox, Text)


SQL_DBMS_NAME

"ACCESS"  (Microsoft Access)
"DBASE"  (dBASE)
"EXCEL"  (Microsoft Excel)
"FOXPRO"  (Microsoft FoxPro)
"PARADOX"  (Paradox)
"TEXT"  (Text)


SQL_DBMS_VER;
SQL_DBMS_VER

"1.0", "1.1", "2.0" o "3.0"  (Microsoft Access)

(No hay diferencias en el formato de los datos de las versiones 3.0, 7.0 y 97 de Microsoft Access)

"3.0", "4.0" o "5.0"  (dBASE)
"3.0", "4.0", "5.0", "7.0" o "97"  (Microsoft Excel)
"2.0", "2.5" o "2.6"  (Microsoft FoxPro)
"3.x", "4.x" o "5.x" (Paradox)
"1.0"  (Text)


SQL_DEFAULT_TXN_ISOLATION

SQL_TXN_READ_COMMITTED [Microsoft Access]

0 [dBASE, Microsoft Excel, Microsoft FoxPro, Paradox, Text]


SQL_DRIVER_HDBC

Controlado por el Administrador de controladores.


SQL_DRIVER_HENV

Controlado por el Administrador de controladores.


SQL_DRIVER_HLIB

Controlado por el Administrador de controladores.


SQL_DRIVER_HSTMT

Controlado por el Administrador de controladores.


SQL_DRIVER_NAME

"ODBCJT32.DLL"


SQL_DRIVER_ODBC_VER

"2.50"


SQL_DRIVER_VER

" 3.50.nnnn"  (nnnn especifica la fecha de creación).


SQL_EXPRESSIONS_IN_ORDERBY

"Y"


SQL_FETCH_DIRECTION

SQL_FD_FETCH_NEXT |
SQL_FD_FETCH_FIRST |
SQL_FD_FETCH_LAST |
SQL_FD_FETCH_PRIOR |
SQL_FD_FETCH_ABSOLUTE |
SQL_FD_FETCH_RELATIVE |
SQL_FD_FETCH_BOOKMARK


SQL_FILE_USAGE

SQL_FILE_QUALIFIER
(Microsoft Access, Microsoft Excel 5.0, 7.0 ó 97)

SQL_FILE_TABLE
(dBASE, Microsoft Excel 3.0 ó 4.0, Microsoft FoxPro, Paradox, Text)


SQL_GETDATA_EXTENSIONS

SQL_GD_ANY_ORDER |
SQL_GD_ANY_COLUMN |
SQL_GD_BLOCK |
SQL_GD_BOUND


SQL_GROUP_BY

SQL_GB_GROUP_BY_CONTAINS_SELECT


SQL_IDENTIFIER_CASE

SQL_IC_MIXED
(Microsoft Access, Microsoft Excel, Microsoft FoxPro, Paradox, Text)

SQL_IC_UPPER (1)
(dBASE)

1 Se devuelve el cualificador en caso combinado para que Windows NT pueda localizar el directorio.


SQL_IDENTIFIER_QUOTE_CHAR

"`" (comilla)


SQL_KEYWORDS

ALPHANUMERIC, AUTOINCREMENT, BINARY, BOOLEAN, BYTE, COUNTER, CURRENCY, DATABASE, DATABASENAME, DATETIME, DISALLOW, DISTINCTROW, DOUBLEFLOAT, FLOAT4, FLOAT8, GENERAL, IEEEDOUBLE, IEEESINGLE, IGNORE, IMAGE, INTEGER1, INTEGER2, INTEGER4, LOGICAL, LOGICAL1, LONG, LONGBINARY, LONGCHAR, LONGTEXT, MEMO, MONEY, NOTE, NUMBER, OLEOBJECT, OWNERACCESS, PARAMETERS, PERCENT, PIVOT, SHORT, SINGLE, SINGLEFLOAT, STDEV, STDEVP, STRING, TABLEID, TEXT, TOP, TRANSFORM, UNSIGNEDBYTE, VAR, VARBINARY, VARP, YESNO


SQL_LIKE_ESCAPE_CLAUSE

"N"


SQL_LOCK_TYPES

SQL_LCK_NO_CHANGE


SQL_MAX_BINARY_LITERAL_LEN

255


SQL_MAX_CHAR_LITERAL_LEN

255  (Microsoft Access)
254  (dBASE)
255  (Microsoft Excel 3.0, 4.0, 5.0 ó 7.0)
65535 (Microsoft Excel 97)
254  (Microsoft FoxPro)
255  (Paradox)
255  (Text)


SQL_MAX_COLUMN_NAME_LEN

64  (Microsoft Access)
10  (dBASE)
64  (Microsoft Excel 5.0, 7.0 ó 97)
30  (Microsoft Excel 3.0 ó 4.0)
10  (Microsoft FoxPro)
25  (Paradox)
64  (Text)


SQL_MAX_COLUMNS_IN_GROUP_BY

10


SQL_MAX_COLUMNS_IN_INDEX

32  (Microsoft Access)
0  (Límite desconocido o no aplicable)  (dBase)
0  (Microsoft Excel)
0  (Límite desconocido o no aplicable)  (Microsoft FoxPro)
0  (Límite desconocido o no aplicable)  (Paradox)
0  (Text)


SQL_MAX_COLUMNS_IN_ORDER_BY

10


SQL_MAX_COLUMNS_IN_SELECT

255


SQL_MAX_COLUMNS_IN_TABLE

255

Si utiliza el controlador de Microsoft Excel, la instrucción CREATE TABLE permite 256 columnas, pero el límite de 255 columnas sigue siendo válido y, por lo tanto, fallará la introducción de la columna número 256.


SQL_MAX_CURSOR_NAME_LEN

64


SQL_MAX_INDEX_SIZE

255  	(Microsoft Access)
220  	(dBASE)
0  	(Microsoft Excel)
512  	(Microsoft FoxPro)
1350  	(Paradox)
0  	(Text)


SQL_MAX_OWNER_NAME_LEN

0


SQL_MAX_PROCEDURE_NAME_LEN

64  (Microsoft Access)
0  (dBASE)
0  (Microsoft Excel)
0  (Microsoft FoxPro)
0  (Paradox)
0  (Text)


SQL_MAX_QUALIFIER_NAME_LEN

66


SQL_MAX_ROW_SIZE

2096  (Microsoft Access)
4000  (dBASE)
65535  (Microsoft Excel)
65500  (Microsoft FoxPro 2.5 y superior)
4000  (Microsoft FoxPro 2.0)
1350   (Paradox)
65535  (Text)


SQL_MAX_ROW_SIZE_INCLUDES_LONG

"N"  (Microsoft Access)
"N"  (dBASE)
"Y"  (Microsoft Excel)
"N"  (Microsoft FoxPro)
"N"  (Paradox)
"Y"  (Text)


SQL_MAX_STATEMENT_LEN

65000


SQL_MAX_TABLE_NAME_LEN

64  (Microsoft Access)
12  (dBASE)
31  (Microsoft Excel 5.0, 7.0 ó 97)
12  (Microsoft Excel 3.0 ó 4.0)
12  (Microsoft FoxPro)
12  (Paradox)
12  (Text)


SQL_MAX_TABLES_IN_SELECT

16


SQL_MAX_USER_NAME_LEN

0


SQL_MULT_RESULT_SETS

"N"


SQL_MULTIPLE_ACTIVE_TXN

"Y"


SQL_NEED_LONG_DATA_LEN

"N"


SQL_NON_NULLABLE_COLUMNS

SQL_NNC_NON_NULL


SQL_NULL_COLLATION

SQL_NC_LOW


SQL_NUMERIC_FUNCTIONS

SQL_FN_NUM_ABS |
SQL_FN_NUM_ATAN |
SQL_FN_NUM_CEILING |
SQL_FN_NUM_COS |
SQL_FN_NUM_EXP |
SQL_FN_NUM_FLOOR |
SQL_FN_NUM_LOG |
SQL_FN_NUM_MOD |
SQL_FN_NUM_POWER |
SQL_FN_NUM_RAND |
SQL_FN_NUM_SIGN |
SQL_FN_NUM_SIN |
SQL_FN_NUM_SQRT |
SQL_FN_NUM_TAN


SQL_ODBC_API_CONFORMANCE

SQL_OAC_LEVEL1


SQL_ODBC_SAG_CLI_CONFORMANCE

SQL_OSCC_COMPLIANT


SQL_ODBC_SQL_CONFORMANCE

SQL_OSC_MINIMUM


SQL_ODBC_SQL_OPT_IEF

"N"


SQL_ODBC_VER

Desde el Administrador de controladores


SQL_OJ_CAPABILITIES

SQL_OJ_LEFT
SQL_OJ_RIGHT
SQL_OJ_NOT_ORDERED
SQL_OJ_INNER
SQL_OJ_ALL_COMPARISON_OPS


SQL_ORDER_BY_COLUMNS_IN_SELECT

"N"


SQL_OUTER_JOINS

"Y"


SQL_OWNER_TERM

""


SQL_OWNER_USAGE

0


SQL_POS_OPERATIONS

SQL_POS_POSITION |
SQL_POS_REFRESH |
SQL_POS_UPDATE |
SQL_POS_DELETE |
SQL_POS_ADD
(Microsoft Access, dBASE, Microsoft FoxPro, Paradox)

SQL_POS_POSITION |
SQL_POS_REFRESH
(Microsoft Excel, Text)


SQL_POSITIONED_STATEMENTS

0


SQL_PROCEDURE_TERM

"QUERY"
(Microsoft Access)

""
(dBASE, Microsoft Excel, Microsoft FoxPro, Paradox, Text)


SQL_PROCEDURES

"Y"
(Microsoft Access)

"N"
(dBASE, Microsoft Excel, Microsoft FoxPro, Paradox, Text)


SQL_QUALIFIER_LOCATION

SQL_QL_START


SQL_QUALIFIER_NAME_SEPARATOR

"."
(Microsoft Access, Microsoft Excel 5.0, 7.0 ó 97)

"\"
(dBASE, Microsoft Excel 3.0 ó 4.0, Microsoft FoxPro, Paradox, Text)


SQL_QUALIFIER_TERM

"Database"  (Microsoft Access)
"Directory"  (dBASE)
"Workbook"  (Microsoft Excel 5.0, 7.0 ó 97)/
"Directory" (Microsoft Excel 3.0 ó 4.0)
"Directory"  (Microsoft FoxPro)
"Directory"  (Paradox)
"Directory"  (Text)


SQL_QUALIFIER_USAGE

SQL_QU_DML_STATEMENTS |
SQL_QU_TABLE_DEFINITION |
SQL_QU_INDEX_DEFINITION |
SQL_QU_PROCEDURE_INVOCATION
(Microsoft Access)

SQL_QU_DML_STATEMENTS |
SQL_QU_TABLE_DEFINITION |
SQL_QU_INDEX_DEFINITION
(dBASE, Microsoft FoxPro, Paradox)

SQL_QU_DML_STATEMENTS |
SQL_QU_TABLE_DEFINITION
(Microsoft Excel, Text)


SQL_QUOTED_IDENTIFIER_CASE

SQL_IC_MIXED


SQL_ROW_UPDATES

"N"


SQL_SCROLL_CONCURRENCY

SQL_SCCO_READ_ONLY |
SQL_SCCO_LOCK |
SQL_SCCO_OPT_VALUES
(Microsoft Access, dBASE, Microsoft FoxPro, Paradox)

SQL_SCCO_READ_ONLY
(Microsoft Excel, Text)


SQL_SCROLL_OPTIONS

SQL_SO_FORWARD_ONLY |
SQL_SO_STATIC |
SQL_SO_KEYSET_DRIVEN


SQL_SEARCH_PATTERN_ESCAPE

"\"


SQL_SERVER_NAME

"ACCESS"  (Microsoft Access)
"DBASE"  (dBASE)
"EXCEL"  (Microsoft Excel)
"FOXPRO"  (Microsoft FoxPro)
"PARADOX"  (Paradox)
"TEXT"  (Text)


SQL_SPECIAL_CHARACTERS

"~`@#$%^&*_-+=\}{"';:¿?/><,.!'[]|"


SQL_STATIC_SENSITIVITY

SQL_SS_ADDITIONS |
SQL_SS_DELETIONS |
SQL_SS_UPDATES


SQL_STRING_FUNCTIONS

SQL_FN_STR_ASCII |
SQL_FN_STR_CHAR |
SQL_FN_STR_CONCAT |
SQL_FN_STR_LCASE |
SQL_FN_STR_LEFT |
SQL_FN_STR_LENGTH |
SQL_FN_STR_LOCATE |
SQL_FN_STR_LOCATE_2
SQL_FN_STR_LTRIM |
SQL_FN_STR_RIGHT |
SQL_FN_STR_RTRIM |
SQL_FN_STR_SPACE |
SQL_FN_STR_SUBSTRING |
SQL_FN_STR_UCASE


SQL_SUBQUERIES

SQL_SQ_COMPARISON |
SQL_SQ_EXISTS |
SQL_SQ_IN |
SQL_SQ_QUANTIFIED |
SQL_SQ_CORRELATED_SUBQUERIES


SQL_SYSTEM_FUNCTIONS

0


SQL_TABLE_TERM

"TABLE"


SQL_TIMEDATE_ADD_INTERVALS

0


SQL_TIMEDATE_DIFF_INTERVALS

0


SQL_TIMEDATE_FUNCTIONS

SQL_FN_TD_CURDATE |
SQL_FN_TD_CURTIME |
SQL_FN_TD_DAYOFMONTH |
SQL_FN_TD_DAYOFWEEK |
SQL_FN_TD_DAYOFYEAR |
SQL_FN_TD_HOUR |
SQL_FN_TD_MINUTE |
SQL_FN_TD_MONTH |
SQL_FN_TD_NOW |
SQL_FN_TD_SECOND |
SQL_FN_TD_WEEK |
SQL_FN_TD_YEAR
(Microsoft Access, Microsoft Excel, Text)

SQL_FN_TD_DAYOFMONTH |
SQL_FN_TD_DAYOFWEEK |
SQL_FN_TD_DAYOFYEAR |
SQL_FN_TD_HOUR |
SQL_FN_TD_MINUTE |
SQL_FN_TD_MONTH |
SQL_FN_TD_SECOND |
SQL_FN_TD_WEEK |
SQL_FN_TD_YEAR
(dBASE, Microsoft FoxPro, Paradox)


SQL_TXN_CAPABLE

SQL_TC_ALL
(Microsoft Access)

SQL_TC_NONE
(dBASE, Microsoft Excel, Microsoft FoxPro, Paradox, Text)


SQL_TXN_ISOLATION_OPTION

SQL_TXN_READ_COMMITTED
(Microsoft Access)

0
(dBASE, Microsoft Excel, Microsoft FoxPro, Paradox, Text)


SQL_UNION

SQL_U_UNION_ALL |
SQL_U_UNION


SQL_USER_NAME

No se admite


Funciones de API admitidas por ODBC

Los controladores de Microsoft ODBC admiten todas las funciones principales y del nivel 1, así como las siguientes funciones del nivel 2:

•	SQLDataSources

•	SQLDrivers

•	SQLExtendedFetch

•	SQLMoreResults

•	SQLNativeSQL

•	SQLNumParams

•	SQLProcedures

•	SQLProcedureColumns

•	SQLSetPos

•	SQLSetScrollOptions


SQLBindParameter

Si utiliza el controlador de Microsoft Excel, al ejecutar la instrucción INSERT que utiliza un parámetro para introducir un valor NULL en una columna SQL_CHAR, ésta devolverá SQL_SUCCESS_WITH_INFO con SQLSTATE 01004, "Data Truncated".


SQLColAttributes

Atributo	Comentario
SQL_COLUMN_DISPLAY_SIZE	Para los datos de LONGVARBINARY, SQL_COLUMN_DISPLAY_SIZE es la longitud máxima de la columna, no esta longitud por 2.
SQL_COLUMN_MONEY	Devuelve el valor FALSE para las columnas con el tipo de datos CURRENCY de Paradox, que se asigna al tipo de datos SQL_DOUBLE de SQL de ODBC.
SQL_OWNER_NAME	Devuelve una cadena vacía ("") para esta columna, puesto que no se admite el nombre del propietario.
SQL_QUALIFIER_NAME	En el caso de Microsoft Access, se devuelve la ruta de acceso a un archivo de la base de datos, mientras que en el caso de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox o Text se devuelve la ruta de acceso a un directorio.
SQL_COLUMN_SEARCHABLE	SQL_COLUMN_SEARCHABLE Las columnas LONGVARBINARY y LONGVARCHAR se consideran SQL_UNSEARCHABLE. Se pueden buscar tipos de datos binarios y de caracteres con una longitud fija o variable, aunque no sea así para las columnas LONGVARBINARY y LONGVARCHAR.
Nota   En esta lista no figuran todos los atributos devueltos por SQLColAttributes .


SQLColumns

Columna	Comentario
TABLE_QUALIFIER	En el caso de Microsoft Access, se devuelve la ruta de acceso a un archivo de la base de datos, mientras que en el caso de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox o Text se devuelve la ruta de acceso a un directorio.
TABLE_OWNER	En esta columna se devuelve NULL, ya que el nombre del propietario no se admite.
NULLABLE	Devuelve SQL_NO_NULLS para columnas que participen en una clave principal o un índice único.


SQLConfigDataSource

Vea también

La función SQLConfigDataSource, que permite agregar, modificar y eliminar orígenes de datos, emplea de forma dinámica las siguientes palabras clave:

Palabra clave	Descripción
CHARACTERSET	Para el controlador de Texto, OEM o ANSI.
COLLATINGSEQUENCE	La secuencia en la que se ordenan los campos. Cuando se utiliza el controlador de dBASE o de Microsoft FoxPro, la secuencia puede ser: ASCII (el valor predeterminado) o internacional. Cuando se usa el controlador de Paradox, la secuencia puede ser: ASCII (el valor predeterminado), internacional, sueco-finés o noruego-danés. Establece la misma opción que el control Secuencia de ordenación del cuadro de diálogo de instalación.
COLNAMEHEADER	Para el controlador de Texto, indica si el primer registro de datos va a especificar los nombres de las columnas. Puede ser TRUE o FALSE.
COMPACT_DB	Para el controlador de Microsoft Access, efectúa la compactación de datos en el archivo de una base de datos.
CREATE_DB	Para el controlador de Microsoft Access, crea el archivo para una base de datos. Tiene el siguiente formato: CREATE_DB=<nombre de la ruta><orden opcional>, donde el nombre de la ruta es la ruta completa de una base de datos de Microsoft Access. Devolverá un error si el nombre de la ruta especifica una base de datos que ya existe. El orden será el especificado en el cuadro de diálogo Nueva base de datos que se visualiza al pulsar el botón Crear del cuadro de diálogo Instalación de Microsoft Access. Si no especifica un orden, se utilizará la opción General.  Si utiliza la palabra clave CREATE_DB, en el caso de que el nombre de la ruta de la base de datos de Microsoft Access que va a crear contenga uno o más espacios, el nombre completo de la ruta deberá ir delimitado entre comillas dobles, tal como se muestra en los siguientes ejemplos: "C:\ARCHIVOS DE PROGRAMA\ARCHIVOS COMUNES\MiAccess.mdb" "C:\ARCHIVOS DE PROGRAMA\Acceso2.mdb" CREATE_DB=C:\TEMP\test.mdb (no necesita comillas)
CREATE_SYSDB	Para el controlador de Microsoft Access, crea el archivo para una base de datos del sistema. Tiene el siguiente formato: CREATE_SYSDB=<nombre de la ruta><orden opcional>, donde el nombre de la ruta es la ruta completa de una base de datos de Microsoft Access. Devolverá un error si el nombre de la ruta especifica una base de datos que ya existe. El orden será el especificado en el cuadro de diálogo Nueva base de datos que se visualiza al pulsar el botón Crear del cuadro de diálogo Instalación de Microsoft Access. Si no especifica un orden, se utilizará la opción General.
CREATE_V2DB	Para el controlador de Microsoft Access, crea el archivo para una base de datos compatible con Microsoft Access 2.0. Tiene el siguiente formato: CREATE_V2DB=<nombre de la ruta><orden opcional>, donde el nombre de la ruta es la ruta completa de una base de datos de Microsoft Access. Devolverá un error si el nombre de la ruta especifica una base de datos que ya existe. El orden será el especificado en el cuadro de diálogo Nueva base de datos que se visualiza al pulsar el botón Crear del cuadro de diálogo Instalación de Microsoft Access. Si no especifica un orden, se utilizará la opción General.  Si utiliza la palabra clave CREATE_V2DB, en el caso de que el nombre de la ruta de la base de datos de Microsoft Access que va a crear contenga uno o más espacios, el nombre completo de la ruta deberá ir delimitado entre comillas dobles, tal como se muestra en los siguientes ejemplos: "C:\ARCHIVOS DE PROGRAMA\ARCHIVOS COMUNES\MiAccess.mdb" "C:\ARCHIVOS DE PROGRAMA\Acceso2.mdb" CREATE_V2DB=C:\TEMP\test.mdb (no necesita comillas)
DBQ	Para el controlador de Microsoft Access o Paradox, el nombre del archivo de la base de datos. Para el controlador de Microsoft Excel, si accede a archivos de Microsoft Excel 5.0, 7.0 ó 97, el nombre del archivo del libro de trabajo. Establece la misma opción que el control Base de datos del cuadro de diálogo de instalación.
DEFAULTDIR	Especificación de la ruta para el archivo de la base de datos (para el controlador de Microsoft Access) o el directorio (para el controlador de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox o Texto).  Establece la misma opción que el control Seleccionar directorio del cuadro de diálogo de instalación o, para Microsoft Excel, el control Seleccionar libro de trabajo del mismo cuadro de diálogo.
DELETED	Para el controlador de dBASE o Microsoft FoxPro, especifica si se pueden acceder o recuperar filas marcadas como eliminadas. Si el valor establecido es 1, no se visualizarán las filas eliminadas. Pero, si el valor establecido es 0, se tratarán las filas eliminadas de la misma manera que las filas que no lo están. El valor predeterminado es no marcado.  Establece la misma opción que el control Mostrar filas eliminadas del cuadro de diálogo de instalación.
DESCRIPTION	Descripción de los datos contenidos en el origen de datos. Establece la misma opción que el control Descripción del cuadro de diálogo de instalación.
DRIVER	Especificación de la ruta de la DLL de controladores.
DRIVERID	ID entero para el controlador.   25 (Microsoft Access)   21 (dBASE III)   277 (dBASE IV)   533 (dBASE 5.0)   534 (Microsoft Excel 3.0)   278 (Microsoft Excel 4.0)   22 (Microsoft Excel 5.0/7.0)   790 (Microsoft Excel 97)   24 (Microsoft FoxPro 2.0)   280 (Microsoft FoxPro 2.5)   536 (Microsoft FoxPro 2.6)   26 (Paradox 3.x)   282 (Paradox 4.x)   538 (Paradox 5.x)   27 (Text)
EXCLUSIVE	Determina si la base de datos se va a abrir en modo exclusivo (sólo puede acceder a ella un usuario cada vez) o en modo compartido (pueden acceder a ella varios usuarios a la vez). Puede ser TRUE (modo exclusivo) o FALSE (modo compartido). (No es aplicable al controlador de Microsoft Excel o Texto). Establece la misma opción que el control Exclusivo del cuadro de diálogo de instalación.
EXTENSIONS	Muestra las extensiones de los archivos de Texto en el origen de datos.  Establece la misma opción que el control Lista de extensiones del cuadro de diálogo de instalación.
FIL	Tipo de archivo: MS Access para Microsoft Access    dBase III, dBase IV o dBase 5    Excel 3.0, 4.0, 5.0, 7.0 ó 97 para Microsoft Excel    FoxPro 2.0, 2.5 ó 2.6 para Microsoft FoxPro    Paradox 3.x, 4.x ó 5.x)    Text.
FILETYPE	Tipo de archivo para el controlador de Text (Text).
FIRSTROWHASNAMES	Para el controlador de Microsoft Excel, indica si las celdas de la primera columna del rango contienen los nombres de las columnas para la tabla (1) o no (0).
FORMAT	Para el controlador de Texto, puede ser FIXEDLENGTH, TABDELIMITED, CSVDELIMITED (delimitado por una coma) o DELIMITED() (delimitado por el carácter especial especificado entre paréntesis). Esta carácter especial debe tener la longitud de un solo carácter y puede tener formato de carácter, decimal o hexadecimal.
IMPLICITCOMMITSYNC	Determina si el controlador de Microsoft Access ejecutará ocurrencias internas o implícitas de forma asíncrona. Este valor se establece inicialmente como "Sí", lo que significa que el controlador de Microsoft Access esperará ocurrencias en una transacción interna/implícita para completarse.  El valor de esta opción no se debe modificar sin considerar detenidamente las consecuencias. Para más información sobre esta opción, consulte Microsoft Jet Database Engine Programmers’s Guide. Establece la misma opción que el control ImplicitCommitSync del cuadro de diálogo de instalación.
MAXBUFFERSIZE	El tamaño del búfer interno, en kilobytes, que utiliza Microsoft Access para transferir datos a o desde el disco. El tamaño predeterminado es 512 KB (visualizado como 512). Se puede utilizar cualquier valor entero divisible entre 256. Establece la misma opción que el control Tamaño de búfer del cuadro de diálogo de instalación.
MAXSCANROWS	Para el controlador de Microsoft Access, Microsoft Excel o Texto, el número de filas que se van a explorar al establecer el tipo de datos de una columna en función de los datos existentes. Puede introducir un número entre 1 y 16 para las filas que se van a explorar. El valor predeterminado es 8. Si establece el valor 0, se explorarán todas las columnas. (Un número fuera de este límite devolverá un error).  Para el controlador de Texto, puede introducir un número entre 1 y 32767 para las filas que se van a explorar. No obstante, el valor predeterminado siempre será 25. (Un número fuera de este límite devolverá un error).  Establece la misma opción que el control Filas a explorar del cuadro de diálogo de instalación.
PAGETIMEOUT	Especifica el periodo de tiempo, en décimas de segundo, que permanece en el búfer una página (si no se utiliza) antes de quitarla. Para el controlador de Microsoft Access, el tiempo predeterminado es 5 décimas de segundo (0,5 segundos). En el caso de los controladores de dBASE, Microsoft FoxPro, y Paradox , la opción predeterminada es de 600 décimas de segundo (60 segundos). Observará que esta opción se aplica a todos los orígenes de datos que utilizan el controlador de ODBC.  Establece la misma opción que el control Tiempo de espera de página del cuadro de diálogo de instalación.
PARADOXNETPATH	Para el controlador de Paradox, la ruta completa del directorio que contiene una base de datos de bloqueo de Paradox, ya que contiene el archivo PDOXUSRS.net (en Paradox 4.x) o PARADOX.net (en Paradox 5.x). Si el directorio no contiene uno de estos archivos, el controlador de Paradox crea uno. Para más información sobre estos archivos, consulte la documentación sobre Paradox. Antes de poder seleccionar un directorio de red, deberá introducir un nombre de usuario de Paradox.  Establece la misma opción que el control Seleccionar directorio de red del cuadro de diálogo de instalación de Paradox.
PARADOXNETSTYLE	Para el controlador de Paradox, el estilo de acceso a la red que se va a utilizar al acceder a datos de Paradox: "3.x" para Paradox 3.x o "4.x" para Paradox 4.x o 5.x. Se puede establecer en "3.x" o "4.x" si la versión es Paradox 4.x o 5.x; si la versión es Paradox 3.x, el estilo debe ser "3.x".  Establece la misma opción que el control Estilo de red del cuadro de diálogo de instalación.
PARADOXUSERNAME	Para el controlador de Paradox, el nombre del usuario de Paradox.  Establece la misma opción que el control Nombre de usuario del cuadro de diálogo de instalación.
PWD	Para el controlador de Microsoft Access o Paradox, la contraseña. Para el controlador de Paradox, es una palabra clave especial, que nunca escribirá el controlador en el archivo. Se utiliza para llamar a SQLDriverConnect para archivos de Paradox protegidos con contraseña.
READONLY	Utilice el valor TRUE si desea que los archivos sean sólo de lectura o FALSE en el caso contrario.  Establece la misma opción que el control Sólo lectura del cuadro de diálogo de instalación.
REPAIR_DB	Para el controlador de Microsoft Access, reparar una base de datos dañada por un fallo que se produjo durante el proceso de ocurrencias.
STATISTICS	Para el controlador de dBASE o Microsoft FoxPro, determina si las estadísticas del tamaño de las tablas son aproximadas. Observará que esta opción se aplica a todos los orígenes de datos que utilizan el controlador de ODBC.  Establece la misma opción que el control Número aproximado de filas del cuadro de diálogo de instalación.
SYSTEMDB	Para el controlador de Microsoft Access, la especificación de la ruta del archivo de la base de datos del sistema.  Establece la misma opción que el control Base de datos del sistema del cuadro de diálogo de instalación.
THREADS	El número de subprocesos en segundo plano que utiliza la máquina. En el caso del controlador de Microsoft Access, el valor predeterminado es 3,pero se puede cambiar. Para los controladores de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox y Texto, este valor predeterminado es también 3, pero no se puede modificar.  Establece la misma opción que el control Subprocesos del cuadro de diálogo de instalación.
UID	Para el controlador de Microsoft Access, el nombre de ID del usuario para el inicio de sesiones.
USERCOMMITSYNC	Determina si el controlador de Microsoft Access va a efectuar de forma asíncrona transacciones definidas por el usuario. Este valor se establece inicialmente en "Sí", lo que significa que el controlador de Microsoft Access esperará a que finalicen las ocurrencias de una transacción definida por el usuario.  El valor de esta opción no se debe modificar sin considerar detenidamente las consecuencias. Para más información sobre esta opción, consulte Microsoft Jet Database Engine Programmers’s Guide. Establece la misma opción que el control UserCommitSync del cuadro de diálogo de instalación.


SQLDriverConnect

Vea también

SQLDriverConnect le permite conectarse a un controlador sin crear un origen de datos (DSN).

Se admiten las siguientes palabras clave en la cadena de conexión para todos los controladores: DSN, DBQ y FIL.

Para el controlador de Microsoft Access, las palabras clave UID y PWD también se admiten. Para el controlador de Paradox, también se admiten la palabra clave PWD.

Si utiliza el controlador de Microsoft Access o Paradox, la palabra clave PWD no deberá incluir ninguno de los caracteres especiales (vea SQL_SPECIAL_CHARACTERS en Valores devueltos por SQLGetInfo).

Si utiliza el controlador de Paradox, después de que un usuario haya abierto un archivo protegido con contraseña, no podrán abrir el mismo archivo otros usuarios.

En la siguiente tabla se muestran las palabras clave mínimas necesarias para conectarse a cada controlador, con un ejemplo de los pares palabra clave/valor utilizados con SQLDriverConnect. Para consultar una lista completa de los valores de DRIVERID, consulte Implementación de SQLConfigDataSource.

Nota   Si no especifica DBQ o DefaultDir para el controlador de dBASE, Microsoft Excel 3.0/4.0, Microsoft FoxPro, Paradox o Texto, éste se conectará al directorio actual.

Driver	Palabras  clave  necesarias	Ejemplos
Microsoft Access	Driver, DBQ	Driver={Controlador Microsoft Access (*.mdb)}; DBQ=c:\temp\sample.mdb
dBASE	Driver, DriverID	Driver={Controlador Microsoft dBASE (*.dbf)}; DBQ=c:\temp; DriverID=277
Microsoft Excel 3.0 ó 4.0	Driver, DriverID	Driver={Controlador Microsoft Excel (*.xls)}; DBQ=c:\temp; DriverID=278
Microsoft Excel 5.0/7.0	Driver, DriverID,  DBQ	Driver={Controlador Microsoft Excel (*.xls)}; DBQ=c:\temp\sample.xls; DriverID=22
Microsoft Excel 97	Driver, DriverID,  DBQ	Driver={Controlador Microsoft Excel (*.xls)}; DBQ=c:\temp\sample.xls; DriverID=790
Microsoft FoxPro	Driver, DriverID	Driver={Controlador Microsoft FoxPro (*.dbf)}; DBQ=c:\temp;DriverID=536
Paradox	Driver, DriverID	Driver={Controlador Microsoft Paradox (*.db )}; DBQ=c:\temp;DriverID=26
Text	Driver	Driver={Controlador Microsoft Texto (*.txt;*.csv)}; DefaultDir=c:\temp


SQLGetCursorName

Se admite SQLGetCursorName, pero sólo se puede utilizar si se emplea la Cursor Library, ya que el controlador no admite operaciones de posicionamiento.


SQLGetData

Esta función permite recuperar datos de cualquier columna, independientemente de que tenga columnas dependientes y del orden en el que se recuperen las columnas.


SQLGetInfo

SQLGetInfo admite el tipo de información de SQL_FILE_USAGE. El valor devuelto es un número entero de 16 bits que indica cómo trata directamente el controlador los archivos de un origen de datos:

SQL_FILE_NOT_SUPPORTED = El controlador no es de un solo nivel.

SQL_FILE_TABLE = El controlador de un solo nivel trata a los archivos de un origen de datos como tablas.

SQL_FILE_QUALIFIER = El controlador de un solo nivel trata a los archivos de un origen de datos como calificadores.

El controlador de ODBC devuelve SQL_FILE_QUALIFIER para el controlador de Microsoft Access, ya que cada archivo es una base de datos completa. En el caso del controlador de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox o Texto, el controlador de ODBC devuelve SQL_FILE_TABLE porque cada archivo es una tabla.


SQLGetStmtOption

Los marcadores devueltos por un argumento aOpción de SQL_GETBOOKMARK son sólo válidos mientras la consulta esté abierta y se invalidan si se vuelve a emitir la consulta. No se admiten marcadores persistentes.


SQLGetTypeInfo

El nombre del tipo (TYPE_NAME) devuelto en la tabla creada por SQLGetTypeInfo será el nombre utilizado normalmente por el origen de datos.

Devuelve SQL_ALL_EXCEPT_LIKE en la columna SEARCHABLE para los tipos de datos Byte, Counter, Double, Single, Long y Short data. (Se puede lograr mediante la conversión del valor a un carácter utilizando las funciones de conversión canónicas de ODBC y efectuando después la comparación).

Si utiliza el controlador de Microsoft Excel, se devolverán los nombres de tipos de ODBC en la columna TYPE_NAME que devuelve SQLGetTypeInfo.

Si utiliza el controlador de Texto, SQLGetTypeInfo devolverá un valor FALSE para CASE_SENSITIVE para los tipos de datos de texto (CHAR y LONGCHAR), si estos tipos de datos distinguen mayúsculas de minúsculas.


SQLMoreResults

Esta función devuelve siempre SQL_NO_DATA_FOUND.


SQLPrepare

Las instrucciones preparadas con un número incorrecto de columnas devuelven errores en el tiempo de ejecución, no durante la preparación de la instrucción.


SQLProcedureColumns

Sólo la admiten los DSN de Microsoft Access.

Los programadores de aplicaciones deben buscar columnas definidas por los controladores que comiencen al final del conjunto de resultados y continúen hacia atrás.

Columna	Comentario
COLUMN_TYPE	SQL_PARAM_INPUT o SQL_RESULT_COL
ORDINAL	Esta columna es específica del controlador y que se devuelve al final del conjunto de resultados. El tipo SQL de la columna es un número entero.


SQLProcedures

SQLProcedures sólo devuelve filas para aquellos procedimientos que contengan al menos un argumento. Los procedimientos que no contengan argumentos se tratan como vistas.

Columna	Comentario
PROCEDURE_QUALIFIER	Ruta del archivo de la base de datos.
PROCEDURE_OWNER	NULL
PROCEDURE_NAME	Nombre del procedimiento sin delimitar
PROCEDURE_TYPE	SQL_PT_PROCEDURE


SQLSetConnectOption

aOpción	Comentario
SQL_ACCESS_MODE	SQL_ACCESS_MODE se puede definir como SQL_MODE_READ_ONLY o SQL_MODE_READ_WRTE. No obstante, el controlador no impide actualizaciones si se establece SQL_MODE_READ_ONLY para SQL_ACCESS_MODE.
SQL_AUTOCOMMIT	Si utiliza el controlador de Microsoft Access, la opción SQL_AUTOCOMMIT se puede definir como SQL_AUTOCOMMIT_ON o SQL_AUTOCOMMIT_OFF, ya que el controlador de Microsoft Access admite transacciones(1). Los controladores de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox y Texto sólo admiten que se defina ON (estado predeterminado) para SQL_AUTOCOMMIT, ya que no admiten transacciones.
SQL_CURRENT_QUALIFIER	Se admite.
SQL_LOGIN_TIMEOUT	No se admite.
SQL_OPT_TRACE	Se admite.
SQL_OPT_TRACEFILE	Se admite.
SQL_PACKET_SIZE	No se admite.
SQL_QUIET_MODE	No se admite.
SQL_TRANSLATE_DLL	No se admite.
SQL_TRANSLATION_OPTION	No se admite.
SQL_TXN_ISOLATION	Si utiliza el controlador de Microsoft Access, SQL_TXN_ISOLATION tiene siempre la opción SQL_TXN_READ_COMMITTED. Esta aOpción no se admite para los otros controladores.

1	El controlador de Microsoft Access no admite transacciones atómicas. Al someter una transacción con el controlador de Microsoft Access, se produce un retraso finito entre el tiempo en que se somete la transacción y el tiempo que transcurre hasta que se escriben los valores en el disco. Este retraso está determinado por un retraso inherente en el motor de Microsoft Jet. El tiempo de espera de las páginas no será menor que un valor mínimo, aunque la opción Tiempo de espera de página tenga definido un valor inferior a ése. Como resultado, no se garantiza que los datos sometidos sean estables, ya que se pueden producir cambios durante el retraso.


SQLSetCursorName

Puesto que el controlador no admite eliminaciones o actualizaciones colocadas mediante la sintaxis WHERE CURRENT OF nombrecursor, se admite SQLSetCursorName pero no se puede utilizar para actualizaciones colocadas. Sólo se puede emplear si la Cursor Library está activa y la aplicación está utilizando SQLExtendedFetch.


SQLSetPos

Se admite la semántica de modelos en gran volumen para SQLSetPos con el argumento ifila igual a 0.

Se admite SQL_LOCK_NO_CHANGE para aBloqueo. No se admiten SQL_LOCK_EXCLUSIVE ni SQL_LOCK_UNLOCK.

SQLSetPos admite uniones actualizables. Para obtener más información, consulte Microsoft Jet Database Engine Programmer’s Guide.


SQLSetScrollOptions

Se admiten cursores estáticos y de desplazamiento para SQL_CONCUR_READ_ONLY.

Sólo se admiten cursores controlados por el teclado para un argumento aConcurrencia de SQL_CONCUR_LOCK.

No se admite el argumento aConcurrencia de SQL_CONCUR_ROWVER.

No se admiten tampoco cursores dinámicos ni unidos.


SQLSetStmtOption

aOpción	Comentario
SQL_ASYNC_ENABLE	No se admiten los procesos asíncronos. SQL_ASYNC_ENABLE devolverá SQLSTATE S1C00 ("El controlador no está capacitado").
SQL_KEYSET_SIZE	El único tamaño válido del teclado es 0, ya que no se admiten cursores unidos ni dinámicos. Si este tamaño tiene definido otro valor, se cambiará a 0 y la llamada devolverá SQL_SUCCESS_WITH_INFO y SQLSTATE 01S02 ("Valor de opción cambiado").
SQL_MAX_ROWS	El único tamaño de filas válido es 0, ya que los controladores de Desktop Database no admiten la limitación del número de filas devueltas. Si este tamaño tiene definido otro valor, se cambiará a 0 y la llamada devolverá SQL_SUCCESS_WITH_INFO y SQLSTATE 01S02 ("Valor de opción cambiado").
SQL_QUERY_TIMEOUT	No se admite.
SQL_ROW_NUMBER	No se admite.
SQL_SIMULATE_CURSOR	No se admite.


SQLSpecialColumns

Devuelve un índice único (si existe) para el indicador SQL_BEST_ROWID en aTipoCol. No devuelve un conjunto de resultados para el indicador SQL_ROWVER.

Todos los identificadores de filas tienen un ámbito en SQL_SCOPE_CURROW.

No se admiten modelos coincidentes para los argumentos tmCalificadorTabla y tmNombreTabla.


SQLStatistics

Columna	Comentario
TABLE_QUALIFIER	En el caso de Microsoft Access, se devuelve la ruta de acceso a un archivo de la base de datos, mientras que en el caso de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox o texto se devuelve la ruta de acceso a un directorio. No se admiten modelos coincidentes para el argumento tmCalificadorTabla.
TABLE_OWNER	En esta columna se devuelve NULL, ya que el nombre del propietario no se admite.
TABLE_NAME	Nombre de la tabla sin delimitar. No se admiten modelos coincidentes para el argumento tmNombreTabla.
INDEX_QUALIFIER	Devuelve siempre el valor NULL.
INDEX_NAME	Depende del índice.
TYPE	Sólo devuelve SQL_TABLE_STAT o SQL_INDEX_OTHER para TYPE.
SEQ_IN_INDEX	Depende del índice.
COLUMN_NAME	Depende del índice.
COLLATION	Depende del índice.
CARDINALITY	Sólo devuelve un valor para Microsoft Access.
PAGES	Devuelve siempre el valor NULL.
El filtrado se basa en la exclusividad (argumento aÚnico). Se ignora el parámetro aPrecisión.


SQLTables

Argumento	Comentario
tmPropietarioTabla	El único argumento válido para tmPropietarioTabla es NULL, ya que ninguno de los controladores admite nombres de propietarios. Con el valor NULL definido para tmPropietarioTabla, devuelve todas las tablas. Devuelve el valor NULL en la columna TABLE_OWNER.
tmCalificadorTabla	Si utiliza el controlador de Microsoft Excel 3.0 o 4.0, al llamar a SQLTables con un valor para tmCalificadorTabla que no es el nombre de una tabla que ya existe, el controlador creará una tabla con ese nombre. En la columna TABLE_QUALIFIER, SQLTables devolverá la ruta del archivo de una base de datos (para Microsoft Access o Microsoft Excel 5.0, 7.0 ó 97) o la ruta de un directorio (dBASE, Microsoft Excel 3.0 ó 4.0, Microsoft FoxPro, Paradox o Text).
tmTipoTabla	Si utiliza el controlador de Microsoft Access, tmTipoTabla admitirá "SYSTEM TABLE" para tablas del sistema, "SYNONYM" para tablas adjuntas y "VIEW" para consultas que devuelven filas. Para archivos de dBASE, Microsoft Excel 3.0 ó 4.0, Microsoft FoxPro, Paradox o Texto, "TABLE" es el único tipo de tabla que admite. Para archivos de Microsoft Excel 5.0, 7.0 ó 97, devuelve "SYSTEM TABLE" para nombres de hojas (tablas con un signo "$" al final) y "TABLE" para tablas dentro de hojas de trabajo. Si utiliza el controlador de Texto, la lista de archivos devueltos con SQLTables estará determinada por las extensiones de los archivos de la casilla Lista de extensiones del cuadro de diálogo Instalación de ODBC Texto.


SQLTransact

Si utiliza el controlador de Microsoft Access, se admiten SQL_COMMIT y SQL_ROLLBACK para el argumento aTipo en una llamada a SQLTransact.

Si utiliza el controlador de dBASE, Microsoft Excel, Microsoft FoxPro, Paradox o Texto, esta función admite SQL_COMMIT, pero no SQL_ROLLBACK.

Si utiliza el controlador de Microsoft Access, en el caso de que se produzca un fallo durante el proceso de ocurrencias, se podrá reparar la base de datos afectada utilizando la opción Reparar base de datos de la instalación del controlador de Microsoft Access o mediante el uso de la palabra clave REPAIR_DB en la función SQLConfigDataSource.


Errores de cálculo

El controlador de ODBC evalúa la cláusula WHERE de una instrucción SELECT según va recogiendo cada fila. Si una fila contiene un valor que causa un error aritmético, tal como dividir entre cero o desbordamiento numérico, el controlador devolverá todas las filas, pero también los errores de columnas con errores aritméticos. En cambio, en los procesos de introducción o actualización, el controlador de ODBC dejará de introducir o actualizar datos en cuanto se encuentre con el primer error aritmético.


Dirección base de los controladores

Cada uno de los controladores de ODBC Desktop Database está vinculado a una dirección base de 0x04c0000.


Crear y tener acceso a tablas

Si utiliza el controlador de Texto, se creará una tabla utilizando el formato especificado en el archivo ODBCINST.INI. Si no hay ningún formato especificado, las tablas se crearán con el formato CSVDELIMITED. De manera predeterminada, las columnas INTEGER tienen definidos 11 caracteres, mientras que las columnas FLOAT 22 caracteres. Las columnas DATE utilizan el formato AAAA-MM-DD. Las columnas CHAR y LONGCHAR tienen el ancho especificado en la instrucción CREATE.


Utilizar varios hstmts

Si utiliza el controlador de Paradox de ODBC y desea utilizar más de un hstmt para ejecutar consultas en una tabla, dicha tabla deberá tener un índice único (clave principal de Paradox).


Estado de sólo lectura

Si utiliza el controlador de Microsoft Excel o Texto, las tablas de origen de datos serán de sólo lectura. No obstante, aunque las tablas tengan el estado de sólo lectura, las aplicaciones podrán realizar introducciones y actualizaciones en tablas de Microsoft Excel e introducciones en tablas de Text.

Si una aplicación ejecuta el comando Guardar como en datos de Microsoft Excel mediante el controlador de Microsoft Excel, esta aplicación deberá crear una tabla e introducir los datos que se van a guardar en esta nueva tabla. Esta introducción de datos tiene como resultado la creación de un anexo a la tabla. No se podrán realizar otras operaciones en la tabla hasta que se cierre y se vuelva a abrir. Una vez cerrada la tabla, no se podrán introducir más datos, puesto que la tabla es ahora de sólo lectura.

Es posible actualizar valores con el controlador de Microsoft Excel, pero no se pueden eliminar filas de una tabla basada en una hoja de trabajo de Microsoft Excel, ya que no se considera oficialmente que el controlador de Microsoft Excel admita actualizaciones.


DLL de instalación

El Administrador de ODBC llama a la función ConfigDSN cuando los usuarios instalan orígenes de datos.


Bibliotecas DLL de conversión

No se admite.


Glosario

A

Administrador de controladores   Una biblioteca de rutina que administra el acceso a los controladores de la aplicación. El Administrador de controladores carga y descarga los controladores y pasa las llamadas a las funciones ODBC al controlador correcto.  Otra forma de decir esto es que el Administrador de controladores conecta (y desconecta) a los controladores mientras pasa llamadas a las funciones ODBC.

Administrador de ODBC   Un programa ejecutable que llama a la DLL instaladora para configurar orígenes de datos.

Aislamiento de transacción   El hecho de aislar una transacción a partir de los efectos de todas las otras transacciones.

ANSI   American National Standards Institute. La API de ODBC se basa en la Interfaz de nivel de llamada de ANSI.

APD   Application Parameter Descriptor (Descriptor de parámetros de aplicaciones).

API   Application Programming Interface (Interfaz de programación de aplicaciones). Conjunto de rutinas que una aplicación utiliza para solicitar y para realizar servicios de nivel inferior. La API de ODBC se compone de funciones ODBC.

Aplicación   Un programa ejecutable que llama a funciones de la API de ODBC.

Application Parameter Descriptor (Descriptor de parámetros de aplicaciones, APD)   Un descriptor que describe los parámetros dinámicos utilizados en una instrucción SQL antes de cualquier conversión especificada por la aplicación.

Application Row Descriptor (Descriptor de filas de aplicaciones, ARD)   Un descriptor que representa la columna de metadatos y los datos en los búferes de la aplicación, describiendo una fila de datos seguida de cualquier conversión de datos especificada por la aplicación.

ARD   Application Row Descriptor (Descriptor de filas de aplicaciones).

B

Base   La base de un sistema numérico. Normalmente es 2 o 10.

Base de datos   Una colección discreta de datos en una DBMS. Vea también DBMS.

Base de datos de servidor   Un DBMS diseñado para ser ejecutado en un entorno cliente/servidor. Estos DBMS llevan un motor de base de datos autónomo que proporciona una gran compatibilidad con SQL y transacciones. Se tiene acceso a ellos a través de controladores basados en DBMS. Por ejemplo, Oracle, Informix, DB/2 o Microsoft SQL Server.

Binary large object (Objetos binarios grandes, BLOB)   Cualquier dato binario superior a un número de bytes en concreto, como 255. Normalmente más grande. Tales datos generalmente se envían y recuperan del origen de datos en partes. También conocidos como datos largos.

Bloquear   El proceso por el cual un DBMS restringe el acceso a una fila en un entorno multiusuario. El DBMS normalmente establece un bit en una fila o en una página física que contiene una fila que indica la fila o la página bloqueada.

Búfer   Una parte de la memoria de aplicación utilizada para pasar datos entre la aplicación y el controlador. Los búferes frecuentemente van en pares: Un búfer de datos y un búfer de longitud de datos.

Búfer de datos   Un búfer utilizado para pasar datos. Asociado frecuentemente con un búfer de datos es un búfer de longitud de datos.

Búfer de longitud de datos   Un búfer utilizado para pasar la longitud de los valores en un correspondiente búfer de datos. El búfer de longitud de datos también se utiliza para almacenar indicadores, así como si el valor de los datos termina en nulo.

Búferes de conjunto de filas   Los búferes dependientes a las columnas de un conjunto de resultados en las cuales se devuelven los datos para un conjunto de filas completo.

Buscar   Recuperar una o más filas de un conjunto de resultados.

Byte   Ocho bits o un octeto. Vea también octeto.

C

Calificador   Una base de datos que contiene una o más tablas.

Cambio del comportamiento   Un cambio en cierta funcionalidad del comportamiento de ODBC 3.x a ODBC 2.x, o viceversa. Este cambio se debe al atributo del entorno SQL_ATTR_ODBC_VERSION.

Campo   Vea columna.

Catálogo   El conjunto de tablas del sistema en una base de datos que describe la forma de la base de datos. También conocido como esquema o diccionario de datos.

Cláusula de escape   Una cláusula en una instrucción SQL.

Clave   Una columna o columnas cuyos valores identifican una fila. Vea también clave principal y clave externa.

Clave externa   Una columna o columnas en una tabla cuya clave principal coincide con la de otra tabla.

Clave principal   Una columna o columnas que identifican únicamente a una fila de una tabla.

CLI   Vea API.

Cliente/servidor   Una estrategia de acceso a la base de datos en la cual uno o más clientes tienen acceso a los datos a través de un servidor. Los clientes normalmente implementan la interfaz de usuario mientras el servidor controla el acceso a la base de datos.

Código de retorno   El valor devuelto por una función ODBC.

Columna   El contenedor de un elemento simple de información en una fila. También conocido como un campo.

Columna Datos de ejecución   Una columna por la cual los datos se envían después de que se llama a SQLSetPos. Así llamada debido a que los datos se envían en tiempo de ejecución antes de que se hayan colocado en un búfer de un conjunto de fila. Los datos largos se envían normalmente en partes en tiempo de ejecución.

Columna de procedimiento   Un argumento en una llamada de procedimiento, el valor devuelto por un procedimiento o una columna de un conjunto de resultados creada por un procedimiento.

Concurrencia   La posibilidad de que más de una transacción tengan acceso a los mismos datos al mismo tiempo.

Concurrencia optimista   Una estrategia para aumentar la concurrencia en aquellas filas que no están bloquedas. En cambio, antes de que las filas se actualicen o eliminen, un cursor comprueba si han cambiado desde la última lectura. Si es así, la actualización o eliminación da error. Vea también concurrencia pesimista.

Concurrencia pesimista   Una estrategia para implementar la publicación por entregas de aquellas filas que están bloqueadas para que otras transacciones no se puedan cambiar. Vea también concurrencia optimista.

Conexión   Una instancia en concreto de un controlador y de un origen de datos.

Confirmación   Para realizar los cambios en una transacción permanente.

Confirmación en dos fases   El proceso de confirmar una transacción distribuida en dos fases. En la primera fase, el procesador de la transacción comprueba que todas las partes de la transacción se puedan confirmar. En la segunda fase, todas las partes de la transacción se confirman. Si cualquier parte de la transacción indica en la primera fase que no se puede confirmar, no se pasa a la segunda fase. ODBC no admite confirmaciones en dos fases.

Conjunto de claves   Un conjunto de claves utilizadas por una mezcla o un cursor guiado por un conjunto de claves para volver a buscar filas.

Conjunto de filas   El conjunto de filas devueltas en una búsqueda sencilla por un cursor de bloque.

Conjunto de resultados   El conjunto de filas creadas al ejecutar una instrucción SELECT.

Consulta   Una instrucción SQL. Algunas veces se utiliza para definir una instrucción SELECT.

Controlador   Un valor que identifica únicamente una sola cosa, como un archivo o estructura de datos. Los controladores son significativos sólo con el software que los crea y utiliza, pero se pasan por otro software para identificar cosas. ODBC define los controladores para entornos, conexiones, instrucciones y descriptores.

Controlador   Una biblioteca de rutina que expone las funciones en la API de ODBC. Los controladores son específicos para un DBMS sencillo.

Controlador basado en archivo   Un controlador que tiene acceso directamente a los datos físicos. En este caso, el controlador contiene un motor de base de datos y actúa tanto en el controlador como en el origen de datos.

Controlador basado en DBMS   Un controlador que tiene acceso a los datos físicos a través de un motor de base de datos autónomo.

Controlador de conexión   Un controlador para la estructura de los datos que contiene la información acerca de una conexión.

Controlador de conexión   Un controlador para la estructura de los datos que contiene la información acerca del entorno.

Controlador de instrucción   Un controlador para una estructura de los datos que contiene la información acerca de una instrucción.

Controlador de nivel múltiple   Vea controlador basado en DBMS.

Controlador de nivel único   Vea controlador basado en archivo.

Cursor   Una parte del software que devuelve filas de datos a la aplicación. Llamada probablemente después de parpadear el cursor en un terminal; así como el cursor indica la posición actual en la pantalla, un cursor en un conjunto de resultados indica la posición actual en el conjunto de resultados.

Cursor de bloque   Un cursor capaz de buscar más de una fila de datos al mismo tiempo.

Cursor de desplazamiento   Un cursor que se puede mover hacia delante o hacia atrás a través de un conjunto de resultados.

Cursor de guía de un conjunto de claves   Un cursor de desplazamiento que detecta actualizaciones y eliminaciones de filas mediante un conjunto de claves.

Cursor de tipo Forward-only   Un cursor que sólo se puede mover hacia delante en un conjunto de resultados y que sólo realiza búsquedas en una fila al mismo tiempo. La mayoría de las bases de datos relacionales sólo admiten cursores de este tipo.

Cursor dinámico   Un cursor capaz de detectar actualizaciones, eliminaciones o inserciones de filas en el conjunto de resultados.

Cursor estático   Un cursor de desplazamiento que no puede detectar actualizaciones, eliminaciones o inserciones en un conjunto de resultados. Normalmente se implementa realizando una copia del conjunto de resultados.

Cursor grueso   Vea cursor de bloque.

D

Datos largos   Cualquier dato binario o de tipo carácter superior a cierta longitud, como 255 bytes o caracteres. Normalmente son más largos. Tales datos normalmente se envían y recuperan del origen de datos en partes. También conocidos como BLOB o CLOB.

DBMS   Sistema de administración de bases de datos. Una capa del software entre la base de datos física y el usuario. El DBMS administra todo el acceso a la base de datos.

DDL   Lenguaje de definición de datos. Esas instrucciones en SQL que definen datos, lo contrario a manipular. Por ejemplo, CREATE TABLE, CREATE INDEX, GRANT y REVOKE.

Descriptor   Una estructura de datos que contiene información acerca de cada columna de datos o parámetros dinámicos. La representación física del descriptor no se define, las aplicaciones obtienen el acceso directo a un descriptor sólo mediante la manipulación de sus campos al llamar a las funciones ODBC con el controlador del descriptor.

Descriptor de fila   Un descriptor que describe las columnas de un conjunto de resultados, tanto antes de cualquier conversión especificada por la aplicación (un descriptor de fila de implementación o IRD) como después (un descriptor de fila de aplicación o ARD).

Descriptor de parámetro   Un descriptor que describe los parámetros en tiempo de ejecución utilizados en una instrucción SQL, tanto antes de cualquier conversión especificada por la aplicación (un descriptor de parámetro de aplicación o APD) como después (un descriptor de parámetro de implementación o IPD).

Deshacer   Devolver los valores cambiados por una transacción a su estado original.

Desktop database   Un DBMS diseñado para que se ejecute en un PC. En la mayoría de los casos, estos DBMS no proporcionan un motor de base de datos autónomo y se debe tener acceso a ellos a través de un controlador basado en archivos. Los motores de estos controladores normalmente reducen la compatibilidad para SQL y transacciones; por ejemplo, dBASE, Paradox, Btrieve o FoxPro.

Desplazamiento de enlace   Un valor agregado a las direcciones del búfer de datos y a las direcciones del búfer de longitud e indicador para todas las columnas dependientes o datos de parámetros, produciendo nuevas direcciones.

Diagnóstico   Un registro que contiene información de diagnóstico acerca de la última función llamada que utilizó un controlador en concreto. Los registros de diagnóstico se asocian con el entorno, la conexión, la instrucción y los controladores del descriptor.

Diccionario de datos   Vea catálogo.

DLL de conversión   Una DLL que se utiliza para convertir datos a partir de un conjunto de caracteres a otro.

DLL de instalación del controlador   Una DLL que contiene las funciones de instalación y configuración de un controlador en concreto.

DLL de instalación del convertidor   Una DLL que contiene las funciones de instalación y configuración de un convertidor en concreto.

DLL instaladora   Una DLL que instala componentes ODBC y configura orígenes de datos.

DLL instaladora   Vea DLL de instalación de controladores y DLL de instalación de convertidores.

DML   Lenguaje de manipulación de datos. Esas instrucciones de SQL que manipulan datos, lo contrario a definir; por ejemplo, INSERT, UPDATE, DELETE, y SELECT.

E

Ejecutar   Procesar una instrucción SQL.

Enlazar   Como un verbo, el hecho de asociar una columna en un conjunto de resultados o un parámetro en una instrucción SQL con una variable de aplicación. Como un sustantivo, la asociación.

Entorno   Un contexto global en el cual se tiene acceso a los datos; asociado con el entorno es cualquier información que es global por naturaleza, así como una lista de todas las conexiones de ese entorno.

Esquema   Vea catálogo.

Estado   Una condición bien definida de un elemento. Por ejemplo, una conexión tiene siete estados, incluyendo sin ubicación, ubicada, conectada y datos innecesarios. Ciertas operaciones sólo se pueden realizar cuando un elemento se encuentra en un estado en concreto. Por ejemplo, una conexión sólo se puede liberar si se encuentra en un estado de ubicada y no, por ejemplo, si está en el estado conectada.

Exploración de la conexión   Búsqueda de la red para los orígenes de datos a conectar. La exploración de la conexión puede implicar varios pasos. Por ejemplo, el usuario podría primero explorar la red para los servidores y, después, examinar un servidor en concreto para una base de datos.

F

Facilidad de mejora integrada   Un subconjunto de SQL diseñado para mantener la integridad de la base de datos.

Fila   Un conjunto de columnas relacionadas que describen una entidad específica. También conocida como un registro.

Fila actual   La fila a la que apunta actualmente el cursor. Las operaciones de posicionamiento actúan sobre la fila actual.

Función de agrupamiento   Una función que genera un valor simple a partir de un grupo de valores, se utiliza frecuentemente con las cláusulas GROUP BY y HAVING. Las funciones de agrupamiento incluyen AVG, COUNT, MAX, MIN y SUM. También conocidas como funciones de conjuntos. Vea también funciones escalares.

Función de catálogo   Una función ODBC utilizada para recuperar información del catálogo de la base de datos.

Función de conjunto   Vea función de agregado.

Función escalar   Una función que genera un valor único a partir de un valor único; por ejemplo, una función que cambia el caso de los datos de tipo carácter.

I

Identificador delimitado   Un identificador que va entre comillas y que puede contener caracteres especiales o palabras clave coincidentes (también conocido como identificador entre comillas).

Identificador entrecomillado   Un identificador que va entre comillas y que puede contener caracteres especiales o palabras clave coincidentes (también conocido en SQL92 como identificador delimitado).

Implementation Parameter Descriptor (Descriptor de parámetros de implementación, IPD)   Un descriptor que describe los parámetros dinámicos utilizados en una instrucción SQL después de cualquier conversión especificada por la aplicación.

Implementation Row Descriptor (Descriptor de filas de implementación, IRD)   Un descriptor que describe una fila de datos antes de cualquier conversión especificada por la aplicación.

Indicador de tipo   Un valor entero que se pasa o se devuelve a partir de una función ODBC para indicar el tipo de datos de una variable de aplicación, un parámetro o una columna. ODBC define indicadores de tipo tanto para los tipos de datos C como SQL.

Instrucción   Un contenedor para toda la información relacionada con una instrucción SQL. No se deben confundir las instrucciones con las instrucciones SQL.

Instrucción de actualización de posicionamiento   Una instrucción SQL que se utiliza para actualizar los valores de la fila actual.

Instrucción de eliminación de posicionamiento   Una instrucción SQL que se utiliza para eliminar la fila actual.

Instrucción SQL   Una frase completa en SQL que comienza con una palabra clave y describe completamente la acción a realizar; por ejemplo, SELECT * FROM Orders. No se deben confundir las instrucciones SQL con las instrucciones.

Interoperabilidad   La capacidad de una aplicación para utilizar el mismo código cuando tiene acceso a los datos en distintos DBMS.

IPD   Descriptor de parámetros de implementación.

IRD   Descriptor de filas de implementación.

ISO/IEC   International Standards Organization/International Electrotechnical Commission (Organización internacional de estándares y Comisión electrotécnica internacional). La API de ODBC se basa en la Interfaz de nivel de llamada de ISO/IEC.

L

Literal   Una representación de carácter de un valor de datos actual en una instrucción SQL.

Longitud octal   La longitud en octetos de un búfer o de los datos que contiene.

M

Matriz de estado de fila   Una matriz que contiene el estado de una fila después de una llamada a SQLFetch, SQLFetchScroll o SQLSetPos.

Matriz de estado de parámetro   Una matriz que contiene el estado de un parámetro después de una llamada a SQLExecDirect o SQLExecute.

Matriz de operación de fila   Una matriz que contiene valores que una aplicación puede establecer para indicar que la fila correspondiente debe ser ignorada en una operación SQLSetPos.

Matriz de operación de parámetro   Una matriz que contiene valores que una aplicación puede establecer para indicar que el parámetro correspondiente debe ser ignorado en una operación SQLExecDirect o SQLExecute.

Metadatos   Datos que describen un parámetro en una instrucción SQL o una columna en un conjunto de resultados. Por ejemplo, el tipo de datos, longitud de byte y presición de un parámetro.

Modo confirmación automática   Un modo de confirmación de la transacción en el cual las transacciones se confirman inmediatamente después de ser ejecutadas.

Modo de confirmación manual   Un modo de confirmación de la transacción en el que las transacciones se deben confirmar explícitamente llamando a SQLTransact.

Motor de base de datos   El software en un DBMS que modifica y ejecuta instrucciones SQL y tiene acceso a los datos físicos.

N

Nivel de aislamiento de transacción   Una medida de cómo se aisla una transacción correctamente. Hay cinco niveles de aislamiento de transacción: Sin confirmación de lectura, Confirmación de lectura, Repetición de lectura, En serie y Con versión.

Nivel de conformidad   Un conjunto discreto de funciones admitidas por un controlador u origen de datos. ODBC define los niveles de conformidad de la API y de SQL.

Nivel de conformidad de la interfaz   El nivel de la interfaz de ODBC 3.7 admitido por un controlador; puede ser Principal, Nivel 1 o Nivel 2.

Nivel de conformidad de SQL   El nivel de gramática de SQL92 admitido por un controlador; puede ser Entry, FIPS Transitional, Intermediate o Full.

O

Octeto   Ocho bits o un byte. Vea también byte.

ODBC   Conectividad abierta de bases de datos. Una especificación para una API que define un conjunto estándar de rutinas con las que una aplicación puede tener acceso a los datos en un origen de datos.

ODBC SDK   ODBC Software Development Kit (Kit de desarrollo de software de ODBC). Un producto de ayuda para el desarrollo de aplicaciones y controladores ODBC.

Operación de posicionamiento   Cualquier operación que actúa sobre la fila actual; por ejemplo, actualización en posición e intrucciones de eliminación, SQLGetData y SQLSetPos.

Origen de datos   Los datos a los que el usuario desea tener acceso y el sistema operativo asociado, DBMS y plataforma de red (si hubiera).

Origen de datos de archivo   Un origen de datos por el cual la información de conexión se almacena en un archivo .DSN.

Origen de datos de equipo   Un origen de datos por el cual la información de conexión se almacena en el sistema (por ejemplo, el registro).

P

Parámetro   Una variable en una instrucción SQL, marcada con un marcador de parámetro o una interrogación (?). Los parámetros son dependientes a las variables de aplicación y recuperan sus valores cuando se ejecuta la instrucción.

Parámetro Datos de ejecución   Un parámetro por el cual los datos se envían después de llamar a SQLExecute o SQLExecDirect. Así llamado debido a que los datos se envían cuando se ejecuta la instrucción SQL antes de que se hayan colocado en un búfer de parámetro. Los datos largos se envían normalmente en partes en tiempo de ejecución.

Plan de acceso   Un plan generado por el motor de base de datos para ejecutar una instrucción SQL. Equivalente al código ejecutable compilado desde un lenguaje de tercera generación, como C.

Preparar   Compilar una instrucción SQL. Cree un plan de acceso preparando una instrucción SQL.

Procedimiento   Un grupo de una o más instrucciones SQL precompiladas que se almacenan como un objeto con nombre en una base de datos.

Procedimiento almacenado   Vea procedimiento.

Propietario   El propietario de una tabla.

Publicación por entregas   Cuando dos transacciones se ejecutan simultáneamente produciendo un resultado que es el mismo que la ejecución en serie (o secuencial) de esas transacciones. Las transacciones en serie son necesarias para mantener la integridad de la base de datos.

R

Registro   Vea fila.

S

SAG   SQL Access Group. Un consorcio industrial de empresas que tratan de SQL DBMS. La interfaz de nivel de llamada de X/Open se basa en el funcionamiento hecho originalmente por SQL Access Group.

SQL   Lenguaje de consulta estructurado. Un lenguaje utilizado por bases de datos relacionales para consultar, actualizar y administrar datos.

SQL dinámico   Un tipo de SQL incrustado en el que las instrucciones SQL se crean y compilan en tiempo de ejecución. Vea también SQL estático.

SQL estático   Un tipo de SQL incrustado donde las instrucciones SQL se cifran y compilan cuando se compilan el resto de programas. Vea también SQL dinámico.

SQL incrustado   Instrucciones SQL que se incluyen directamente en un programa escrito en otro lenguaje, como COBOL o C. ODBC no utiliza SQL incrustado. Vea también SQL estático y SQL dinámico.

SQLSTATE   Un valor de cinco caracteres que indica un error en concreto.

T

Tabla   Una colección de filas.

Thunking   La conversión de direcciones de 16 bits a direcciones de 32 bits, o viceversa, cuando las aplicaciones de 16 bits se utilizan con controladores ODBC de 32 bits.

Tipo datos C   El tipo de datos de una variable de un programa en C, en este caso la aplicación.

Tipo de datos   El tipo de una parte de datos. ODBC define los tipos de datos de C y SQL. Vea también indicador de tipo.

Tipo de datos de SQL   El tipo de datos de una columna o parámetro que se almacena en el origen de datos.

Transacción   Una unidad atómica de trabajo. La funcionalidad en una transacción se debe completar como un conjunto, si cualquier parte de la transacción da error, la transacción dará error completamente.

Transición de estado   El movimiento de un elemento de un estado a otro. ODBC define rigurosamente transiciones de estado para entornos, conexiones e instrucciones.

Unión   Una operación en una base de datos relacional que vincula las filas en dos o más tablas por las coincidencias de los valores en las columnas especificadas.

Unión externa   Una unión en la que se devuelven tanto las filas coincidentes como las que no. Los valores de todas las columnas de la tabla sin coincidencias se establecen a NULL en las filas no coincidentes.

V

Valor NULO   No tiene explícitamente un valor asignado. En concreto, un valor NULO es distinto de cero o de espacios en blanco.

Vista   Una forma alternativa de buscar los datos en una o más tablas. Una vista normalmente se crea como un subconjunto de columnas a partir de una o más tablas. En ODBC, las vistas son generalmete equivalentes a las tablas.

X

X/Open   Una empresa que publica estándares. En concreto, publica estándares SAG.