Conectar con SQLBrowseConnect
SQLBrowseConnect, al igual que SQLDriverConnect, usa una cadena de conexión. Sin embargo, al usar SQLBrowseConnect, una aplicación puede construir una cadena de conexión completa en tiempo de ejecución. Esto permite a la aplicación hacer dos cosas:
Construir sus propios cuadros de diálogo para solicitar esta información, conservando así el control sobre su “aspecto y comportamiento”.
Buscar en el sistema los orígenes de datos que un controlador determinado puede utilizar, posiblemente en varios pasos. Por ejemplo, el usuario podría buscar primero en la red los servidores y, después de elegir un servidor, buscar en el servidor las bases de datos accesibles para el controlador.
La aplicación llama a SQLBrowseConnect y pasa una cadena de conexión, conocida como cadena de conexión de solicitud de exploración, que especifica un controlador u origen de datos. El controlador devuelve una cadena de conexión, conocida como cadena de conexión de resultados de exploración, que contiene palabras clave, valores posibles (si la palabra clave acepta un conjunto discreto de valores) y nombres descriptivos. La aplicación crea un cuadro de diálogo con los nombres descriptivos y solicita al usuario los valores. A continuación, crea una nueva cadena de conexión de solicitud de exploración a partir de estos valores y la devuelve al controlador con otra llamada a SQLBrowseConnect.
Dado que las cadenas de conexión se pasan hacia un lado y el otro, el controlador puede ofrecer varios niveles de exploración al devolver una nueva cadena de conexión cuando la aplicación devuelve la antigua. Por ejemplo, la primera vez que una aplicación llama a SQLBrowseConnect, el controlador podría devolver palabras clave para solicitar al usuario un nombre de servidor. Cuando la aplicación devuelve el nombre del servidor, es posible que el controlador devuelva palabras clave para solicitar al usuario una base de datos. El proceso de exploración se completaría después de que la aplicación devolviera el nombre de la base de datos.
Cada vez que SQLBrowseConnect devuelve una nueva cadena de conexión de resultados de exploración, devuelve SQL_NEED_DATA como código de retorno. Esto indica a la aplicación que el proceso de conexión no está completo. Hasta que SQLBrowseConnect no devuelva SQL_SUCCESS, la conexión se encontrará en un estado Need Data y no se podrá usar para otros fines, como para establecer un atributo de conexión. La aplicación puede finalizar el proceso de exploración de conexiones mediante una llamada a SQLDisconnect.
Esta sección contiene el tema siguiente.