Compartilhar via


Informações de conexão específicas de driver

O SQLConnect pressupõe que um nome da fonte de dados, ID de usuário e senha são suficientes para se conectar a uma fonte de dados e que é possível armazenar todas as outras informações de conexão no sistema. Muitas vezes isso não acontece. Por exemplo, um driver pode precisar de um ID de usuário e senha para fazer logon em um servidor e outro ID de usuário e senha para fazer logon em um DBMS. Como o SQLConnect aceita um só ID de usuário e senha, isso significa que o outro ID de usuário e senha deverão ser armazenados com as informações da fonte de dados no sistema se o SQLConnect for usado. Essa é uma potencial 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 palavra-chave-valor da cadeia de conexão. Por exemplo, suponha que o driver exija um nome da fonte de dados, um ID de usuário e senha para o servidor e um ID de usuário e senha para o DBMS. Um programa personalizado que sempre usa a fonte de dados da XYZ Corp pode solicitar IDs e senhas ao usuário e criar o seguinte conjunto de pares palavra-chave-valor, ou cadeia de conexão, a ser passado para SQLDriverConnect:

Observação

Se você estiver se conectando a um provedor de origem de dados compatível com autenticação do Windows, especifique Trusted_Connection=yes, em vez das informações de ID de usuário e de 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 o ID do usuário e a senha para o servidor, e as palavras-chave UIDDBMS e PWDDBMS especificam o ID do usuário e a senha para o DBMS. Observe que o ponto e vírgula final é opcional. O SQLDriverConnect analisa essa cadeia de caracteres, usa o nome da fonte de dados da XYZ Corp para recuperar informações de conexão adicionais do sistema, como o endereço do servidor, e faz logon no servidor e no DBMS usando os IDs de usuário e senhas especificados.

Os pares palavra-chave-valor no SQLDriverConnect devem cumprir 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, as palavras-chave e os nomes de fontes de dados não podem conter o caractere de barra invertida (\). Não são permitidos espaços ao redor do sinal de igual no par de palavra-chave-valor.

A palavra-chave FILEDSN pode ser usada em uma chamada para SQLDriverConnect para especificar o nome de um arquivo que contém informações de fonte de dados (confira Como conectar-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 serão salvos os pares palavra-chave-valor de uma conexão bem-sucedida feita pela chamada para SQLDriverConnect. Para obter mais informações sobre as fontes de dados, confira a descrição da função SQLDriverConnect.