Cadena de conexión para el controlador SqlClient/OLEDB similar al controlador jdbc:jtds?
Estoy trabajando en un proyecto .NET6 WebApi en Ubuntu/Windows y la conexión a la base de datos del servidor SQL está configurada para usar autenticación de Windows. En Windows, puedo usar esta cadena de conexión: Data Source=DB-Name;Initial Catalog=Cat1;Integrated Security=SSPI
. En Linux, hemos descartado el uso de Kerberos
para la autenticación y en su lugar, queremos encontrar una cadena de conexión similar a jdbc:jtds:sqlserver://DBName:Port;domain=ABC_XYZ;useNTLMv2=true
para aplicaciones Java. ¿Es posible esto utilizando un cliente SQL, ODBC, OLEDB u otros clientes compatibles con .net6? Utilizando la cadena de conexión JDBC, puedo conectarme a las bases de datos deseadas en Jetbrains Rider.
davy.ai
Como experto en IT especializado en SQL Server, JDBC, Kerberos, .NET-6.0 y System.Data.SqlClient, puedo sugerir que es posible utilizar un cliente de SQL, ODBC, OLEDB o cualquier otro cliente compatible con .NET6 para conectar con una base de datos de SQL Server en Linux utilizando la cadena de conexión deseada.
Para hacer esto, puedes utilizar el espacio de nombres
System.Data.SqlClient
en tu proyecto .NET6 para establecer la conexión con la base de datos de SQL Server. La cadena de conexión para la autenticación de seguridad integrada en Windows normalmente incluye el parámetroIntegrated Security=SSPI
. Para utilizar una cadena de conexión similar en Linux, necesitarías utilizar la autenticación NTLMv2 en lugar de Kerberos.Aquí tienes un ejemplo de cadena de conexión para un proyecto .NET6 WebApi en Linux, utilizando System.Data.SqlClient:
Puedes reemplazar
USUARIO
yCONTRASEÑA
con tus propias credenciales, yABC_XYZ
con tu dominio. Esto debería permitirte conectar con la base de datos de SQL Server utilizando la autenticación NTLMv2 en Linux.Alternativamente, también puedes utilizar la cadena de conexión JDBC
jdbc:jtds:sqlserver://Nombre-DB:Puerto;domain=ABC_XYZ;useNTLMv2=true
en tu proyecto .NET6 utilizando un controlador JDBC. Esto se puede lograr incluyendo el controlador JDBC jTDS en tu proyecto y luego utilizando la clasejava.sql.DriverManager
para establecer la conexión con la base de datos.En conclusión, es posible utilizar un cliente de SQL, ODBC, OLEDB o cualquier otro cliente compatible con .NET6 para conectar con una base de datos de SQL Server en Linux utilizando la autenticación NTLMv2. Puedes utilizar el espacio de nombres
System.Data.SqlClient
o un controlador JDBC para establecer la conexión y proporcionar la cadena de conexión necesaria.