Partilhar via


Solicitando informações de conexão ao usuário

Se a aplicação usar SQLConnect e precisar de pedir ao utilizador qualquer informação de ligação, como nome de utilizador e palavra-passe, deve fazê-lo ela própria. Embora isto permita à aplicação controlar o seu "aspeto e sensação", pode forçar a aplicação a conter código específico do driver. Isto ocorre quando a aplicação precisa de pedir ao utilizador informações de ligação específicas do driver. Isto apresenta uma situação impossível para aplicações genéricas, que são concebidas para funcionar com todos os drivers, incluindo drivers que não existem quando a aplicação é escrita.

O SQLDriverConnect pode pedir ao utilizador informações de ligação. Por exemplo, o programa personalizado mencionado anteriormente poderia passar a seguinte cadeia de ligação para SQLDriverConnect:

DSN=XYZ Corp;  

O driver pode então mostrar uma caixa de diálogo que pede IDs de utilizador e palavras-passe, semelhante à ilustração seguinte.

Caixa de diálogo que pede IDs de utilizador e palavras-passe

O facto de o driver poder pedir informações de ligação é particularmente útil para aplicações genéricas e verticais. Estas aplicações não devem conter informação específica do driver, e o facto de o driver pedir a informação de que precisa mantém essa informação fora da aplicação. Isto é demonstrado pelos dois exemplos anteriores. Quando a aplicação passava apenas o nome da fonte de dados ao driver, esta não continha qualquer informação específica do driver e, portanto, não estava associada a um driver em particular. Quando a aplicação passava uma string de ligação completa para o driver, este era ligado ao driver que podia interpretar essa string.

Uma aplicação genérica pode ir mais longe e nem sequer especificar uma fonte de dados. Quando o SQLDriverConnect recebe uma cadeia de ligação vazia, o Gestor de Drivers apresenta a seguinte caixa de diálogo.

Caixa de diálogo Selecionar Fonte de Dados

Depois de o utilizador selecionar uma fonte de dados, o Gestor de Drivers constrói uma cadeia de ligação que especifica essa fonte de dados e passa-a ao driver. O condutor pode então pedir ao utilizador qualquer informação adicional que necessite.

As condições em que o driver solicita ao utilizador são controladas pela flag DriverCompletion; há opções para sempre solicitar, solicitar se necessário, ou nunca solicitar. Para uma descrição completa desta bandeira, consulte a descrição da função SQLDriverConnect .