Мне любопытно, какая разница между токеном «Trusted_Connection» и «Integrated Security» в строках подключения к SQL Server (я считаю, что другие базы данных / драйверы не поддерживают их). Я понимаю, что они равнозначны.
Мне любопытно, какая разница между токеном «Trusted_Connection» и «Integrated Security» в строках подключения к SQL Server (я считаю, что другие базы данных / драйверы не поддерживают их). Я понимаю, что они равнозначны.
Ответы:
Они являются синонимами друг друга и могут использоваться как синонимы.
В .Net есть класс SqlConnectionStringBuilder, который очень полезен для работы со строками подключения к SQL Server с использованием типобезопасных свойств для создания частей строки. Этот класс хранит внутренний список синонимов, поэтому он может отображать одно значение в другое:
+ ---------------------- + ------------------------- + | Значение | Синоним | + ---------------------- + ------------------------- + | приложение | название приложения | | асинхронный | асинхронная обработка | | расширенные свойства | attachdbfilename | | исходное имя файла | attachdbfilename | | время ожидания соединения | время ожидания подключения | | тайм-аут | время ожидания подключения | | язык | текущий язык | | адрес | источник данных | | адрес | источник данных | | сетевой адрес | источник данных | | сервер | источник данных | | база данных | исходный каталог | | доверенное_соединение | комплексная безопасность | | время жизни соединения | таймаут балансировки нагрузки | | чистая | сетевая библиотека | | сеть | сетевая библиотека | | pwd | пароль | | persistsecurityinfo | сохранить информацию о безопасности | | uid | идентификатор пользователя | | пользователь | идентификатор пользователя | | wsid | идентификатор рабочей станции | + ---------------------- + ------------------------- +
(Скомпилировано с помощью Reflector)
Существуют и другие аналогичные классы для работы со строками подключения ODBC и OleDb , но, к сожалению, ничего для других поставщиков баз данных - я бы предположил, что ответственность за предоставление такой реализации лежит на библиотеке поставщика.
Они одинаковые.
К сожалению, существует несколько подобных вариантов, в том числе:
Сервер / Источник данных
База данных / начальный каталог
Я не уверен в происхождении вариантов, я предполагаю, что некоторые из них должны быть общими (не ориентированными на базу данных, поэтому ваша строка подключения будет выглядеть очень похожей при подключении к СУБД по сравнению с подключением к службе каталогов и т. Д.)
catalog
является частью номенклатуры реляционных баз данных и не относится ни к чему, кроме РСУБД. Это довольно хорошо объясняется в этом SO-ответе: stackoverflow.com/questions/7022755/…
Немного позже я обнаружил истоки конфликта имен. Набор токенов использовался ODBC, а другой набор определен для OLEDB. Для Sql Server по унаследованным причинам они по-прежнему взаимозаменяемы.
Trusted_Connection = true - это ODBC, а Integrated Security = SSPI - это OLEDB.
В моем случае я обнаружил разницу между «Trusted_Connection» и «Integrated Security». Я использую Microsoft SQL Server 2005. Изначально я использовал вход в Windows (Integrated Security = SSPI). Но когда я заменил аутентификацию Windows аутентификацией SQL Server, добавив идентификатор пользователя и пароль, замена SSPI на "False" не удалась. Он возвратил «Ошибка создания многоэтапной операции OLE DB». Однако когда я заменил «Integrated Security = False» на «Trusted_Connection = no», это сработало.