Поделиться через


Driver-Specific Сведения о подключении

SQLConnect предполагает, что имя источника данных, идентификатор пользователя и пароль достаточно для подключения к источнику данных и что все другие сведения о подключении могут храниться в системе. Это часто не так. Например, драйверу может потребоваться один идентификатор пользователя и пароль для входа на сервер и другого идентификатора пользователя и пароля для входа в СУБД. Так как SQLConnect принимает один идентификатор пользователя и пароль, это означает, что другой идентификатор пользователя и пароль должны храниться с информацией о источнике данных в системе, если sqlConnect будет использоваться. Это потенциальное нарушение безопасности и следует избежать, если пароль не зашифрован.

SQLDriverConnect позволяет драйверу определить произвольный объем сведений о подключении в парах "ключевое слово-значение" строки подключения. Например, предположим, что драйверу требуется имя источника данных, идентификатор пользователя и пароль для сервера, а также идентификатор пользователя и пароль для СУБД. Пользовательская программа, которая всегда использует источник данных XYZ Corp, может запросить у пользователя идентификаторы и пароли и сформировать следующий набор пар «ключевое слово-значение» в виде строки подключения, чтобы передать в SQLDriverConnect:

Замечание

Если вы подключаетесь к поставщику источников данных, поддерживающего проверку подлинности Windows, следует указать Trusted_Connection=yes вместо идентификатора пользователя и пароля в строке подключения.

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

Ключевое слово DSN (имя источника данных) называет источник данных, ключевые слова UID и PWD указывают идентификатор пользователя и пароль для сервера, а ключевые слова UIDDBMS и PWDDBMS указывают идентификатор пользователя и пароль для СУБД. Обратите внимание, что окончательная точка с запятой является необязательной. SQLDriverConnect анализирует эту строку; использует имя источника данных XYZ для получения дополнительных сведений о подключении из системы, таких как адрес сервера; и выполняет вход на сервер и СУБД с помощью указанных идентификаторов пользователей и паролей.

Пары "Ключевое слово-значение" в SQLDriverConnect должны соответствовать определенным правилам синтаксиса. Ключевые слова и их значения не должны содержать []{}(),;? *=!@ символы. Значение ключевого слова DSN не может состоять только из пробелов и не должно содержать начальные пробелы. Из-за грамматики реестра ключевые слова и имена источников данных не могут содержать символ обратной косой черты (\). Пробелы не допускаются вокруг знака равенства в паре ключевое слово-значение.

Ключевое слово FILEDSN можно использовать в вызове SQLDriverConnect , чтобы указать имя файла, содержащего сведения об источнике данных (см. статью "Подключение с использованием источников данных файлов" далее в этом разделе). Ключевое слово SAVEFILE можно использовать для указания имени DSN-файла, в котором будут сохранены пары "ключевое слово-значение" успешного подключения, выполненного вызовом SQLDriverConnect . Дополнительные сведения о источниках данных файлов см. в описании функции SQLDriverConnect .