Compartir a través de


SQLConfigDataSource Function

Conformidad
Versión introducida: ODBC 1.0

Resumen
SQLConfigDataSource agrega, modifica o elimina orígenes de datos.

También se puede acceder a la funcionalidad de SQLConfigDataSource con ODBCCONF.EXE.

Sintaxis

  
BOOL SQLConfigDataSource(  
     HWND     hwndParent,  
     WORD     fRequest,  
     LPCSTR   lpszDriver,  
     LPCSTR   lpszAttributes);  

Argumentos

hwndParent
[Entrada] Identificador de ventana principal. La función no mostrará ningún cuadro de diálogo si el identificador es null.

fRequest
[Entrada] Tipo de solicitud. El argumento fRequest debe contener uno de los valores siguientes:

ODBC_ADD_DSN: agregue un nuevo origen de datos de usuario.

ODBC_CONFIG_DSN: configure (modifique) un origen de datos de usuario existente.

ODBC_REMOVE_DSN: quite un origen de datos de usuario existente.

ODBC_ADD_SYS_DSN: agregue un nuevo origen de datos del sistema.

ODBC_CONFIG_SYS_DSN: modifique un origen de datos del sistema existente.

ODBC_REMOVE_SYS_DSN: quite un origen de datos del sistema existente.

ODBC_REMOVE_DEFAULT_DSN: quite la sección de especificación predeterminada del origen de datos de la información del sistema. (También quita la sección de especificación del controlador predeterminada de la entrada Odbcinst.ini en la información del sistema. Este fRequest realiza la misma función que la función SQLRemoveDefaultDataSource en desuso). Cuando se especifica esta opción, todos los demás parámetros de la llamada a SQLConfigDataSource deben ser VALORES NULL; si no son NULL, se omitirán.

lpszDriver
[Entrada] Descripción del controlador (normalmente el nombre del DBMS asociado) presentado a los usuarios en lugar del nombre del controlador físico.

lpszAttributes
[Entrada] Una lista doble de atributos terminada en null en forma de pares de palabra clave-valor. Para obtener más información, consulte ConfigDSN.

Devoluciones

La función devuelve TRUE si se ejecuta correctamente, FALSE si se produce un error. Si no existe ninguna entrada en la información del sistema cuando se llama a esta función, la función devuelve FALSE.

Diagnóstico

Cuando SQLConfigDataSource devuelve FALSE, se puede obtener un valor *pfErrorCode asociado llamando a SQLInstallerError. En la tabla siguiente se enumeran los valores *pfErrorCode que SQLInstallerError puede devolver y explica cada uno en el contexto de esta función.

*pfErrorCode Error Descripción
ODBC_ERROR_GENERAL_ERR Error general del instalador Error por el que no se produjo ningún error de instalador específico.
ODBC_ERROR_INVALID_HWND Identificador de ventana no válido El argumento hwndParent no era válido o NULL.
ODBC_ERROR_INVALID_REQUEST_TYPE Tipo de solicitud no válido El argumento fRequest no era uno de los siguientes:

ODBC_ADD_DSN ODBC_CONFIG_DSN ODBC_REMOVE_DSN ODBC_ADD_SYS_DSN ODBC_CONFIG_SYS_DSN ODBC_REMOVE_SYS_DSN ODBC_REMOVE_DEFAULT_DSN
ODBC_ERROR_INVALID_NAME Nombre de controlador o traductor no válido El argumento lpszDriver no era válido. No se encontró en el registro.
ODBC_ERROR_INVALID_KEYWORD_VALUE Pares de palabra clave-valor no válidos El argumento lpszAttributes contenía un error de sintaxis.
ODBC_ERROR_REQUEST_FAILED Error de solicitud El instalador no pudo realizar la operación solicitada por el argumento fRequest . Error en la llamada a ConfigDSN .
ODBC_ERROR_LOAD_LIBRARY_FAILED No se pudo cargar el controlador ni la biblioteca de instalación del traductor No se pudo cargar la biblioteca de configuración del controlador.
ODBC_ERROR_OUT_OF_MEM No hay memoria suficiente El instalador no pudo realizar la función debido a una falta de memoria.

Comentarios

SQLConfigDataSource usa el valor de lpszDriver para leer la ruta de acceso completa del archivo DLL de instalación para el controlador desde la información del sistema. Carga el archivo DLL y llama a ConfigDSN con los mismos argumentos que se le pasaron.

SQLConfigDataSource devuelve FALSE si no encuentra ni carga el archivo DLL de instalación o si el usuario cancela el cuadro de diálogo. De lo contrario, devuelve el estado que recibió de ConfigDSN.

SQLConfigDataSource asigna el FRequestde DSN del sistema a los fRequestde DSN de usuario (ODBC_ADD_SYS_DSN a ODBC_ADD_DSN, ODBC_CONFIG_SYS_DSN a ODBC_CONFIG_DSN y ODBC_REMOVE_SYS_DSN a ODBC_REMOVE_DSN). Para distinguir los DSN del usuario y del sistema, SQLConfigDataSource establece el modo de configuración del instalador según la tabla siguiente. Antes de devolver, SQLConfigDataSource restablece el modo de configuración a BOTHDSN. ConfigDSN (implementado por controladores) debe llamar a SQLWriteDSNToIni y SQLWritePrivateProfileString para admitir un DSN del sistema. Para obtener más información, vea Función ConfigDSN.

fRequest Modo de configuración
ODBC_ADD_DSN USERDSN_ONLY
ODBC_CONFIG_DSN USERDSN_ONLY
ODBC_REMOVE_DSN USERDSN_ONLY
ODBC_ADD_SYS_DSN SYSTEMDSN_ONLY
ODBC_CONFIG_SYS_DSN SYSTEMDSN_ONLY
ODBC_REMOVE_SYS_DSN SYSTEMDSN_ONLY
Para información acerca de Vea
Adición, modificación o eliminación de un origen de datos ConfigDSN (en el archivo DLL de instalación)
Eliminación de un nombre de origen de datos de la información del sistema SQLRemoveDSNFromIni
Adición de un nombre de origen de datos a la información del sistema SQLWriteDSNToIni