Compartir a través de


Preguntar al usuario información de conexión

Si la aplicación usa SQLConnect y necesita solicitar al usuario información de conexión, como un nombre de usuario y una contraseña, debe hacerlo. Aunque esto permite que la aplicación controle su "aspecto y comportamiento", podría obligarla a contener código específico del controlador. Esto ocurre cuando la aplicación necesita solicitar al usuario información de conexión específica del controlador. Esto presenta una situación imposible para las aplicaciones genéricas, que están diseñadas para funcionar con todos los controladores, incluidos los controladores que no existen cuando se escribe la aplicación.

SQLDriverConnect puede solicitar al usuario información de conexión. Por ejemplo, el programa personalizado mencionado anteriormente puede pasar la siguiente cadena de conexión a SQLDriverConnect:

DSN=XYZ Corp;  

Después, el controlador puede mostrar un cuadro de diálogo que solicite id. de usuario y contraseñas, de una forma similar a la siguiente ilustración.

Dialog box that prompts for user IDs and passwords

El hecho de que el controlador pueda solicitar información de conexión es especialmente útil para las aplicaciones genéricas y verticales. Estas aplicaciones no deben contener información específica del controlador y hacer que el controlador solicite la información que necesita mantiene esa información fuera de la aplicación. Esto se muestra en los dos ejemplos anteriores. Cuando la aplicación pasaba solo el nombre del origen de datos al controlador, la aplicación no contenía ninguna información específica del controlador y, por tanto, no estaba vinculada a ningún controlador determinado. Cuando la aplicación pasaba una cadena de conexión completa al controlador, estaba vinculada al controlador que podía interpretar esa cadena.

Una aplicación genérica podría ir un paso más allá y ni siquiera especificar un origen de datos. Cuando SQLDriverConnect recibe una cadena de conexión vacía, el Administrador de controladores muestra el siguiente cuadro de diálogo.

Select Data Source dialog box

Una vez que el usuario selecciona un origen de datos, el Administrador de controladores crea una cadena de conexión que especifica ese origen de datos y la pasa al controlador. A continuación, el controlador puede solicitar al usuario la información adicional que necesite.

Las condiciones en las que el controlador solicita información al usuario se controlan mediante la marca DriverCompletion; hay opciones para solicitar siempre, solicitar si es necesario o no solicitar nunca. Para obtener una descripción completa de esta marca, consulte la descripción de la función SQLDriverConnect.