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.

Cómo conectarse desde una aplicación ASP.NET Core 5.0 en ejecución en un contenedor a SQL Server en Windows Server.

Tengo una aplicación ASP.NET Core web API versión 5.0 con un backend que utiliza Microsoft SQL Server en ejecución en Windows Server. Esta aplicación ha estado funcionando correctamente cuando se implementa/ejecuta en IIS, pero cuando se implementa/ejecuta con Docker, aparece un error al obtener datos del servidor SQL. El error es similar a este: “Se estableció correctamente una conexión con el servidor, pero luego ocurrió un error durante el handshake previo al inicio de sesión. (proveedor: Proveedor TCP, error: 35 – Se capturó una excepción interna)“.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución de problemas de un error en una aplicación ASP.NET Core Web API con SQL Server en Docker

    Si estás experimentando un error al obtener datos de SQL Server en tu aplicación ASP.NET Core Web API mientras está desplegada/ejecutada con Docker, podría haber un problema con el saludo previo al inicio de sesión. El mensaje de error que podrías ver es el siguiente:

    Se estableció la conexión con el servidor correctamente, pero luego ocurrió un error durante el saludo previo al inicio de sesión. (proveedor: Proveedor TCP, error: 35 - Se detectó una excepción interna).
    

    Aquí tienes algunos pasos que puedes seguir para solucionar el problema:

    1. Verificar la configuración de red: Revisa la configuración de red para asegurarte de que el contenedor pueda conectarse a la instancia de SQL Server que se esté ejecutando en la máquina host. Es posible que necesites agregar puertos o direcciones IP específicas al archivo docker-compose.yml para permitir la comunicación entre el contenedor y SQL Server.
    2. Revisar los registros de SQL Server: Busca cualquier registro de SQL Server que pueda proporcionar información adicional sobre el error. Los registros podrían contener mensajes de error más detallados u otras pistas sobre lo que podría estar causando el problema.

    3. Verificar la cadena de conexión: Asegúrate de que la cadena de conexión que estás utilizando en tu aplicación sea correcta y apunte a la instancia correcta de SQL Server. Verifica también que las credenciales de inicio de sesión sean correctas.

    4. Verificar la configuración de SQL Server: Asegúrate de que la instancia de SQL Server esté configurada correctamente para permitir conexiones desde fuera de la máquina host. Verifica que SQL Server esté en funcionamiento y que esté configurado para escuchar en los puertos correctos.

    5. Intenta usar un controlador de base de datos diferente: Si ninguno de los pasos anteriores resuelve el problema, puede que quieras intentar usar un controlador de base de datos diferente. Por ejemplo, podrías probar a utilizar el controlador de Microsoft SQL Server para Linux en lugar del controlador por defecto.

    Siguiendo estos pasos, deberías poder identificar la causa raíz del problema y resolverlo.

Comments are closed.