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 |
Funciones relacionadas
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 |