У чому різниця між Trusted_Connection та Integrated Security у рядку підключення?


81

Мені цікаво, яка різниця між маркером "Trusted_Connection" та "Integrated Security" у рядках підключення SQL Server (я вважаю, що інші бази даних / драйвери їх не підтримують). Я розумію, що вони еквівалентні.

Відповіді:


100

Вони є синонімами один одного і можуть використовуватися як взаємозамінні.

У .Net є клас під назвою SqlConnectionStringBuilder, який є дуже корисним для роботи з рядками підключень SQL Server з використанням властивостей безпечного типу для побудови частин рядка. Цей клас зберігає внутрішній список синонімів, щоб він міг переходити від одного значення до іншого:

+ ---------------------- + ------------------------- +
| Значення | Синонім |
+ ---------------------- + ------------------------- +
| додаток | назва програми |
| асинхронізація | асинхронна обробка |
| розширені властивості | attachdbfilename |
| початкова назва файлу | attachdbfilename |
| час очікування підключення | підключити час очікування |
| час очікування | підключити час очікування |
| мова | поточна мова |
| addr | джерело даних |
| адреса | джерело даних |
| мережева адреса | джерело даних |
| сервер | джерело даних |
| база даних | початковий каталог |
| довірене_зв'язок | інтегрована безпека |
| термін служби підключення | час очікування балансу навантаження |
| нетто | мережева бібліотека |
| мережа | мережева бібліотека |
| pwd | пароль |
| persistsecurityinfo | зберігати інформацію про безпеку |
| uid | ідентифікатор користувача |
| користувач | ідентифікатор користувача |
| wsid | ідентифікатор робочої станції |
+ ---------------------- + ------------------------- +

(Складено за допомогою Reflector)

Існують і інші подібні класи для роботи з рядками підключень ODBC та OleDb , але, на жаль, нічого для інших постачальників баз даних - я б припустив, що ця бібліотека постачальника несе таку реалізацію.


Додаткова примітка для майбутніх глядачів цього: Trusted Connection не працює для мене на Sql Server 2014. Однак, інтегрована безпека працює, тому я піду з цим!
Стаху

4
У SQL Express 2014 я використовую trusted_connection, і він працює ... зверніть увагу на підкреслення, будь ласка, і ви повинні використовувати "так", а не "true", коли використовуєте trusted_connection
Зоран П.

10

Вони однакові.

На жаль, існує кілька таких варіантів, серед яких:

Сервер / Джерело даних

База даних / Початковий каталог

Я не впевнений у походженні варіантів, я припускаю, що деякі з них мають бути загальними (не орієнтованими на базу даних, тому рядок підключення буде виглядати дуже схожим, якщо підключатись до СУБД проти підключення до служби каталогів тощо)


Цей термін catalogє частиною номенклатури реляційних баз даних і не стосується нічого, крім СУБД. Це пояснюється досить добре в цьому SO відповідь: stackoverflow.com/questions/7022755 / ...
ProfK

2

Тож трохи пізніше я виявив витоки зіткнення імен. ODBC використовував набір токенів, а для OLEDB - інший набір. Для Sql Server із застарілих причин вони як і раніше підтримують як взаємозамінні.

Trusted_Connection = true - це ODBC, а інтегрована безпека = SSPI - OLEDB.


1
connectionstrings.com/sql-server, схоже, каже, що це працює для OLEDB. У вас інший ресурс?
AlignedDev

1

У моєму випадку я виявив різницю між "Trusted_Connection" та "Integrated Security". Я використовую Microsoft SQL Server 2005. Спочатку я використовував вхід у систему Windows (Інтегрована безпека = SSPI). Але коли я замінив автентифікацію Windows аутентифікацією SQL Server, додавши ідентифікатор користувача та пароль, заміна SSPI на "False" не вдалася. Він повернув "Помилку, створену за допомогою багатоступеневої операції OLE DB". Однак, коли я замінив "Інтегрована безпека = Неправда" на "Trusted_Connection = ні", це спрацювало.


Якщо ви використовуєте автентифікацію SQL Server і вказуєте ідентифікатор користувача та пароль, вам не потрібно згадувати "інтегрована безпека" або "надійні_зв'язки".
grahamesd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.