es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , , , ,

Answer

  1. Avatar for 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ámetro Integrated 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:

    Data Source=Nombre-DB;Initial Catalog=Cat1;Integrated Security=False;User ID=USUARIO;Password=CONTRASEÑA;domain=ABC_XYZ;useNTLMv2=true
    

    Puedes reemplazar USUARIO y CONTRASEÑA con tus propias credenciales, y ABC_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 clase java.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.

Comments are closed.