Compartilhar via


Informações de conexão Driver-Specific

O SQLConnect pressupõe que um nome de fonte de dados, uma ID de usuário e uma senha sejam suficientes para se conectar a uma fonte de dados e que todas as outras informações de conexão possam ser armazenadas no sistema. Esse não é o caso com frequência. Por exemplo, um driver pode precisar de uma ID de usuário e senha para fazer logon em um servidor e uma ID de usuário e senha diferentes para fazer logon em um DBMS. Como o SQLConnect aceita uma única ID de usuário e senha, isso significa que a outra ID de usuário e senha devem ser armazenadas com as informações da fonte de dados no sistema se o SQLConnect for usado. Essa é uma possível violação de segurança e deve ser evitada, a menos que a senha seja criptografada.

O SQLDriverConnect permite que o driver defina uma quantidade arbitrária de informações de conexão nos pares de palavra-chave-valor da cadeia de conexão. Por exemplo, suponha que um driver exija um nome de fonte de dados, uma ID de usuário e uma senha para o servidor e uma ID de usuário e senha para o DBMS. Um programa personalizado que sempre usa a fonte de dados da XYZ Corp pode solicitar ao usuário IDs e senhas e criar o seguinte conjunto de pares de palavra-chave e valor, ou cadeia de conexão, para passar para SQLDriverConnect:

Observação

Se você estiver se conectando a um provedor de fonte de dados que dê suporte à autenticação do Windows, especifique Trusted_Connection=yes em vez de informações de ID de usuário e senha na cadeia de conexão.

DSN={MyDataSourceName};UID={MyUserID};PWD={MyServerPassword};UIDDBMS={MyDBMSUserID};PWDDBMS={MyDBMSUserPassword};  

A palavra-chave DSN (Nome da Fonte de Dados) nomeia a fonte de dados, as palavras-chave UID e PWD especificam a ID de usuário e a senha do servidor, e as palavras-chave UIDDBMS e PWDDBMS especificam a ID do usuário e a senha para o DBMS. Note que o ponto e vírgula final é opcional. SQLDriverConnect analisa essa cadeia de caracteres; usa o nome da fonte de dados do XYZ Corp para recuperar informações adicionais de conexão do sistema, como o endereço do servidor; e faz logon no servidor e no DBMS usando as IDs de usuário e senhas especificadas.

Os pares de palavra-chave-valor no SQLDriverConnect devem seguir determinadas regras de sintaxe. As palavras-chave e seus valores não devem conter os caracteres []{}(),;?*=!@. O valor da palavra-chave DSN não pode consistir apenas em espaços em branco e não deve conter espaços em branco à esquerda. Devido à gramática do Registro, palavras-chave e nomes de fonte de dados não podem conter o caractere de barra invertida (\). Espaços não são permitidos em torno do sinal de igual no par palavra-chave-valor.

A palavra-chave FILESN pode ser usada em uma chamada para SQLDriverConnect para especificar o nome de um arquivo que contém informações da fonte de dados (consulte Conectando-se usando fontes de dados de arquivo, mais adiante nesta seção). A palavra-chave SAVEFILE pode ser usada para especificar o nome de um arquivo .dsn no qual os pares de palavra-chave-valor de uma conexão bem-sucedida feita pela chamada para SQLDriverConnect serão salvos. Para obter mais informações sobre fontes de dados de arquivo, consulte a descrição da função SQLDriverConnect .