Delphi - Aplicación Datasnap conectada a SQL Server

 
Vista:
sin imagen de perfil

Aplicación Datasnap conectada a SQL Server

Publicado por Marina R (3 intervenciones) el 29/11/2023 20:48:37
Hola.
Tengo una aplicación Cliente y otra aplicación servidor conectadas por medio de Datasnap. Uso DBExpress para conectarme a SQL Server 2008 r2 express. Delphi tokyo.

Todo funciona bien si lo usamos localmente o a través de una vpn.

Ahora la aplicación servidor y el sql server están en otra máquina a la que accedo a través de una IP pública. Uso el puerto 211 para el datasnap y el puerto 1433 para la instancia de SQL server.
- Ya están habilitados los puertos en el router
- Está configurado el firewall de la máquina que tiene la base de datos, con reglas de entrada para los puertos mencionados. También probé desactivando el firewall.
- El SQL server está configurado para recibir conexiones remotas, y con el puerto 1433 para la instancia.
- La conexión la probé de varias formas según artículos que estuve leyendo, una de ellas es: IP pública\instancia,1433 (propiedad hostname del TSQLConnection)

Busqué en internet un montón de información sobre la forma de configurar el SQL server y el firewall, ya lo hice todo.

En la aplicación servidor tengo componentes TSQLConnection, TSQLDataset y TDatasetProvider. En la aplicación cliente tengo componentes TDatasetProviderConnection y TClientDataset.

Desde la máquina cliente accedo a la base de datos a través del SQL Server management studio conectando de la siguiente forma: IP pública\instancia,1433. Se conecta correctamente, puedo editar las tablas.

Al ejecutar la aplicación cliente me arroja el siguiente error cuando intenta abrir una tabla a través del clientdataset:

remote error: SQL STATE: HYT00, sql error code 0. login timeout expired. sql state: 08001, sql error code:10061. A network related or instance specific error has occurred while establishing a connection to sql server.

Tengo las librerías midas.dll, dbxmss.dll y SQLncli10.dll en la carpeta Syswow64. También probé ponerlas en la misma carpeta de la aplicación servidor.

Si a alguien se le ocurre que otra cosa puedo probar estaré muy agradecida.

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder