sql-server - generar - ejemplo cadena conexion sql server
¿Cuál es la diferencia entre Trusted_Connection y Integrated Security en una cadena de conexión? (4)
Tengo curiosidad por saber cuál es la diferencia entre el token "Conexión de confianza" y "Seguridad integrada" en las cadenas de conexión de SQL Server (creo que otras bases de datos / controladores no son compatibles). Entiendo que son equivalentes.
Ellos son lo mismo.
Desafortunadamente, hay varias variaciones como esta, que incluyen:
Servidor / fuente de datos
Base de datos / Catálogo inicial
No estoy seguro de los orígenes de las variaciones, supongo que algunas están destinadas a ser genéricas (no centradas en la base de datos, por lo que su cadena de conexión se vería muy similar si se conecta a un RDBMS frente a un servicio de directorio, etc.)
Son sinónimos el uno para el otro y se pueden usar indistintamente.
En .Net, hay una clase llamada SqlConnectionStringBuilder que es muy útil para tratar cadenas de conexión de SQL Server usando propiedades de seguridad para crear partes de la cadena. Esta clase mantiene una lista interna de sinónimos para que pueda mapear de un valor a otro:
+----------------------+-------------------------+ | Value | Synonym | +----------------------+-------------------------+ | app | application name | | async | asynchronous processing | | extended properties | attachdbfilename | | initial file name | attachdbfilename | | connection timeout | connect timeout | | timeout | connect timeout | | language | current language | | addr | data source | | address | data source | | network address | data source | | server | data source | | database | initial catalog | | trusted_connection | integrated security | | connection lifetime | load balance timeout | | net | network library | | network | network library | | pwd | password | | persistsecurityinfo | persist security info | | uid | user id | | user | user id | | wsid | workstation id | +----------------------+-------------------------+
(Compilado con la ayuda de Reflector)
Hay otras clases similares para tratar con las cadenas de conexión ODBC y OleDb , pero desafortunadamente nada para otros proveedores de bases de datos: supongo que la responsabilidad recae en la biblioteca de un proveedor para proporcionar dicha implementación.
Así que un poco más tarde descubrí los orígenes del nombre Choque. Un conjunto de tokens fue utilizado por ODBC y un conjunto diferente definido para OLEDB. Para Sql Server por razones heredadas, aún así admiten ambos de manera intercambiable.
Trusted_Connection = true es ODBC y Seguridad integrada = SSPI era OLEDB.
En mi caso, he descubierto una diferencia entre "Trusted_Connection" y "Integrated Security". Estoy usando Microsoft SQL Server 2005. Originalmente utilicé el inicio de sesión de Windows (Integrated Security = SSPI). Pero cuando reemplacé la autentificación de Windows por la autentificación de SQL Server agregando ID de usuario y contraseña, se produjo un error al reemplazar SSPI por "False". Devolvió un "Error generado por la operación OLE DB de varios pasos". Sin embargo, cuando reemplacé "Integrated Security = False" por "Trusted_Connection = no", funcionó.