Me pasa algon que a mi parecer es muyyy raro. El caso es que tengo el servidor de Firebird con las bases de datos montado en casa (para hacer pruebas), si ejecuto la aplicacion en local funciona perfectamente, el problema esta cuando conecto desde la red de la oficina. Me sale el siguiente error:
'Error reading data from the connection'
'Unable to complete network request to host "La Ip de Casa"
Error writing data to the connection
Se ha forzado la interrupcion de una conexion existente por el host remoto'
Ahora, lo mas curioso, es que antes de que salga ese error, consigo que se conecte a la base de datos y me muestre una lista con todos los usuarios, y al pedirle los datos de un usuario en concreto es donde salta el error. Tambien me conecta correctamente desde el EMS. El codigo que tengo es este:
Código Delphi
[-]
Ini := TIniFile.Create(UnidadComun.RutaINI);
Try
With DMUsuarios.IBDUsuarios Do
Begin
DatabaseName := Ini.ReadString('SERVIDOR', 'IP', '') + ':' + Ini.ReadString('SERVIDOR', 'RUTA', '') + '\Agendas\usuarios.fdb';
Params.Add(UnidadComun.UserName);
Params.Add(UnidadComun.Password);
LoginPrompt := False;
Open;
End;
With DMUsuarios.IBQEjecutar Do
Begin
SQL.Clear;
SQL.Add('SELECT LOGIN FROM USUARIOS');
Open;
While not Eof Do
Begin
CBLogin.Items.Add(FieldByName('LOGIN').AsString);
next;
End;
End;
....
With DMUsuarios.IBQEjecutar Do
Begin
If DMUsuarios.IBDUsuarios.Connected Then
Showmessage('Base usuarios conectada');
consulta := 'Select * From Usuarios Where Login = ''' + CBLogin.Text + '''';
SQL.Clear;
SQL.Add(consulta);
Open; ...
End;
Pues a ver si alguien me puede ayudar, os pongo como estan conectados los ordenadores aunque es casi seguro que no sea de eso:
-En casa: Cable modem, es decir directamente a internet, el firewall bien configurado y el servidor corriendo como servicio en un WinXP.
-En la oficina: ADSL con un router, pero como digo con el EMS funciona bien y el servidor de FTP que tengo montado en casa tambien funciona correctamente.
Un saludo y muchas gracias aunque solo sea por leer este tocho.