Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   error al conectarse desde otra maquina (https://www.clubdelphi.com/foros/showthread.php?t=48257)

jhcaboverde 19-09-2007 20:28:17

error al conectarse desde otra maquina
 
Tengo una base de datos SQL Server 2000, local en maquina que esta conectada a una RED. Tengo una aplicacion en delphi 7 que se conecta mediante un ADOConnecion a la base de datos en SQL.

Ahora bien, esa aplicacion la ejecutan otros usuario con permisos a la carpeta donde esta la aplicacion compartida en mi maquina dentro de la red.

el error que da es:

[DBNETLib][ConnectionOpen](Connect())No existe el servidor SQL Server o se ha denegado el acceso al mismo.

Creo que es problema de accesos dentro de la base de datos SQL Server, realmente no estoy muy ducho dentro de SQL, si alguien me puede decir como dar los permisos se los agradeceria

poliburro 19-09-2007 22:20:16

Como defines la configuración del Adoconnection?,

Neftali [Germán.Estévez] 20-09-2007 10:18:24

Creo que puede ser porque cuando ejecutas la aplicacion en otros ordenadores, estos lo que hacen es buscar el servidor SQL como Local, mientras que el único que tiene el servidor SQL como local es que que tiene físicamente el ejecutable.

Cuando configuras la conexión al SQL Server utiliza su direccion IP en lugar de localhost si es que lo estás haciendo así.

Supongo que la pregunta de Poliburro iba por ahí...

Crashthebig 22-09-2007 21:25:12

para conectarte de otras maquinas a las bases de datos tipo SQL lo mejor es utilizar un origren de datos ODBC esto es muy facil de configurar, solo tienes que crear el origen de datos y conectarte a la base de datos por el componente ADOconnection a por un zconnection de los componentes zeos

waly2k1 23-09-2007 01:22:58

Rta.
 
Está bien lo que te comentan anteriormente, menos lo de odbc
ya que estarás usando RDO y no ADO, si bien no hay mucha diferencia, OleDB es muy superior a RDO que es un método de acceso a datos antiguo. Fijate la cadena de conexión en tu objeto AdoConnection que la propiedad del server no apunte a (Local) o localhost, sino a nombre del server y/o Server\Instancia.

Yo cambio la cadena de conexión por código. Te pasteo un ejemplo. si te fijas hay variables que deberías definirlas. Son todas de tipo String y en 2 lugares repite el nombre del Server.

var
sConx:String
begin
....
sConx := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TU_BASE;Data Source=' + TU_SERVER + ';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=' + TU_SERVER + ';Use Encryption for Data=False;Tag with column collation when possible=False';

Conx.Close;
Conx.ConnectionString := sConx;
Conx.Open;
Conx.Connected := True;
end;

Saludos y espero puedas solucionar eso. sino decime que version de SQL usas, nombre del server y nombre de la instancia.


La franja horaria es GMT +2. Ahora son las 09:38:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi