Conectar-se com o SQLBrowseConnect
SQLBrowseConnect, assim como SQLDriverConnect, usa uma cadeia de conexão. No entanto, usando SQLBrowseConnect, um aplicativo pode construir uma cadeia de conexão completa em tempo de execução. Isso permite que o aplicativo faça duas tarefas:
Crie as próprias caixas de diálogo para solicitar essas informações, assim mantendo o controle sobre seu “aspecto e usabilidade”.
Procure no sistema por fontes de dados que possam ser usadas por um driver específico, possivelmente em várias etapas. Por exemplo, primeiro o usuário pode procurar servidores na rede e, depois de escolher um, procurar no servidor pelos bancos de dados acessíveis pelo driver.
O aplicativo chama SQLBrowseConnect e passa uma cadeia de conexão, conhecida como cadeia de conexão de solicitação de navegação que especifica um driver ou fonte de dados. O driver retorna uma cadeia de conexão, conhecida como cadeia de conexão de resultado de navegação, que contém palavras-chave, valores possíveis (se a palavra-chave aceitar um conjunto discreto de valores) e nomes amigáveis. O aplicativo cria uma caixa de diálogo com os nomes amigáveis e solicita valores ao usuário. Em seguida, ele cria uma nova cadeia de conexão de solicitação de navegação a partir desses valores e retorna isso ao driver com outra chamada para SQLBrowseConnect.
Como as cadeias de conexão são passadas para frente e para trás, o driver pode fornecer vários níveis de navegação retornando uma nova cadeia de conexão quando o aplicativo retorna a antiga. Por exemplo, na primeira vez que um aplicativo chama SQLBrowseConnect, o driver pode retornar palavras-chave para solicitar ao usuário um nome do servidor. Quando o aplicativo retorna o nome do servidor, o driver pode retornar palavras-chave para solicitar ao usuário um banco de dados. O processo de navegação seria concluído depois que o aplicativo retornasse o nome do banco de dados.
Cada vez que SQLBrowseConnect retorna uma nova cadeia de conexão de resultado de navegação, ele retorna SQL_NEED_DATA como seu código de retorno. Isso informa ao aplicativo que o processo de conexão não está concluído. Até que SQLBrowseConnect retorne SQL_SUCCESS, a conexão está em um estado Need Data e não pode ser usada para outros fins, como definir um atributo de conexão. O aplicativo pode terminar o processo de navegação de conexão chamando SQLDisconnect.
Esta seção contém o tópico a seguir.