Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Error al conectarme desde un cliente (https://www.clubdelphi.com/foros/showthread.php?t=54037)

andresenlared 06-03-2008 22:04:25

Error al conectarme desde un cliente
 
Saludos.

Tengo un problemita y es el siguiente:

Instale un servidor SqlExpress con autenticacion mixta, ya registre la base de datos. Para el Usuario 'sa' le modifique la contraseña a zitiz, y en un archivo de configuracion .ini se indica que el usuario es sa, la contraseña zitiz, el nombre de la base de datos como quedo registrada en el motor y el nombre del servidor.

datos de archivo .ini
////************
DriverName=MSSQL
HostName=ST-02\SQLEXPRESS
Database=MANEXKA
USER_NAME=sa
Password=zitiz
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
MSSQL TransIsolation=ReadCommited
OS Authentication=True
////*************
Pruebo la aplicacion localmente y funciona bien, pero cuando voy a probarla desde un cliente con la misma configuracion del archivo .ini y me emite un error de conexion donde dice que no existe el servidor sql server o se ha denegado el acceso.

En el servidor y en el cliente tienen montado service pack 2 y .net 2.0 que es el requisito para que trabaje el SQL, en ambos equipos tengo deshabilitado el firewall

Alguna idea...?

poliburro 06-03-2008 23:16:27

Que componentes de conexión utilizas?

ContraVeneno 06-03-2008 23:24:23

Yo revisaría que el "HostName" realmente sea accesible desde el cliente.
Ese error que mencionas, generalmente es provocado porque no se encuentra el servidor. La ip esta mal, la ruta esta incorrecta, cosas por el estilo.

andresenlared 06-03-2008 23:33:37

gracias por su ayuda.

el componente que uso para la conexion son los dbexpress, y la aplicacion lee del archivo .ini que tiene los parametros que ya expuse anteriormente. Si la aplicacion la corro en el mismo equipo donde tengo montado el servidor sql, trabaja sin problema, si paso el mismo archivo de configuracion a un cliente y corro la aplicacion en el cliente se emite el error. Antes tenia montado el MSDE, y los errores que se presentaban era por permisos de acceso a la base porque el usuario windows no estaba registrado sobre el motor, hacia el proceso de registro y bien....la aplicacion funcionaba en el servidor y los clientes, ahora que migre a SQL 2005 express edition, me esta pasando este problemilla.

sinalocarlos 07-03-2008 00:23:57

SI estas utilizando SQL server 2005 express, en SQL Server Surface Area Configuration deves establecer que quieres permitir conecciones remotas, por default viene deshabilitado

andresenlared 07-03-2008 22:00:37

Gracias por su valiosa ayuda.

Verifique el surface area, y habilite la conexion remota por TCP, habilite tambien sobre las propiedades del protocolo TCP del Sql server el puerto de escucha, y deje en blanco la opcion de la parte de puestos dinamicos en la opcion de IPAII, y por ultimo reinicie el servicio


desde el cliente probe el comando SQLCMD y me sale el mismo error con la configuracion antes realizada. Este problemilla me esta sacando canas y muchas.

Cualquier comentario muchas gracias.

poliburro 07-03-2008 22:16:06

DbExpress no es una buena opción. Deberías considerar el uso de ADO.

suerte

sinalocarlos 07-03-2008 22:23:57

mmmm

en ocasiones, y no me preguntes por que, esos dias no traiga mi oiuja usb, no me permitía conectarme por TCP/ip, necesitaba habilitar netbios para que me encontrara mi servidor, prueba primero habilitando netbios, ademas y yo se que puedo ofender susceptibilidades, pero es necesario preguntar, ya verificaste que exista comunicación entre tu maquina cliente y el servidor? (tírale un ping para ver si te responde), ademas de eso, esta habilitado el servicio de SQL Browser? yo se que es posible que sea sobre lo primero que te hayas ido pero no esta de mas volver a verificarlo


saludos

PD

siempre queda el recurso de ofrecer en holocausto una gallina negra virgen rodeada de velas rojas en una noche de luna llena...es broma suerte

ContraVeneno 07-03-2008 22:42:13

Cita:

Empezado por poliburro (Mensaje 271601)
DbExpress no es una buena opción. Deberías considerar el uso de ADO.

suerte

Permíteme discrepar de tal aseveración...
(a we, tan cultural que me he vuelto ahora que me junto con los del club :D)

Amigo Poliburro, yo no estoy de acuerdo con tal afirmación, yo utilizo DBExpress para conectarme a SQL Server y nunca he tenido problemas.

Con lo que sí estaría de acuerdo sería con:
En algunas ocasiones y dependiendo de las circunstancias, dbExpress no es una buena opción. Deberías considerar el uso de ADO.

Pero afirmar que DBExpress no es una buena opción, me parece es incorrecto. Yo prefiero utilizar DBE en lugar de ADO.

poliburro 08-03-2008 02:02:50

Cita:

Empezado por ContraVeneno (Mensaje 271609)
Pero afirmar que DBExpress no es una buena opción, me parece es incorrecto. Yo prefiero utilizar DBE en lugar de ADO.



Cuestión de gustos amigo contraveneno. :D, lo que si nunca usaría es BDE, y codegear debe pensar lo mismo al haber abandonado su desarrollo.

egostar 08-03-2008 02:31:07

Cita:

Empezado por poliburro (Mensaje 271678)
Cuestión de gustos amigo contraveneno. :D, lo que si nunca usaría es BDE, y codegear debe pensar lo mismo al haber abandonado su desarrollo.

Yo me sumo a usar IBX, porque? bueno:
  1. Uso Firebird (aunque he escuchado que en un futuro ya no va a haber compatibilidad, pero ese es otro rollo que en su momento evaluaré que otro componente usar, :rolleyes: )
  2. ADO hasta donde se (si no corrijanme) utiliza conexión a traves del ODBC y me parece que es usar otra capa lo cual pienso desde mi ignorancia que sobra
  3. Tal vez para otras base de datos (que yo no uso), ADO puede ser mejor que otros componentes en este caso IBX
  4. ADO se me hace más complejo que IBX, pero en este caso es un simple gusto, nada tiene que ver que sea mejor o no :rolleyes:

Salud OS

poliburro 08-03-2008 03:24:40

Cita:

Empezado por egostar (Mensaje 271683)
Yo me sumo a usar IBX, porque? bueno:
  1. ADO hasta donde se (si no corrijanme) utiliza conexión a traves del ODBC y me parece que es usar otra capa lo cual pienso desde mi ignorancia que sobra
  2. Tal vez para otras base de datos (que yo no uso), ADO puede ser mejor que otros componentes en este caso IBX
  3. ADO se me hace más complejo que IBX, pero en este caso es un simple gusto, nada tiene que ver que sea mejor o no :rolleyes:
Salud OS


Pues, es medianamente cierto. Esto es, si el proveedor proporciona acceso OleDb la conexión es nativa. Si el proveedor no dispone de Ole, entonces se hace a través de Odbc.

Por que es mejor ADO?.

Ok, yo desarrollo generalmente para 6 motores diferentes.

Oracle
Db2 (Express e Iseries (Antes As/400) )
Mysql
MsSQl server 200 y 2005.
Acces.
DataFlex (Versión para windows).

Y a los primeros cinco lo hago a través de OleDb y el último vía ODBC. Entre las carácterísticas que más utilizo de ADO es el acceso a Procedimientos almacenados que devuelven 1 o varios Recordsets a la vez. (Sí con ADO puedo recibir más de un recordset), Puedo mantener datos sin conexión. Esto me permite mantener un Dataset aún despúes de haber cerrado la conexión ahorrándome recursos del lado del servidor. Tengo acceso a características XML de los motores.

Hace poco intenté explotar las características de procedimientos almacenados de Mysql y Oracle con DbExpress movido por la curiocidad sobre estos componentes y honestamente resultaron un fiasco.

En fin, como digo cada quíen habla como le va en la fiesta y en lo personal me sigo quedando con ADO. :P


La franja horaria es GMT +2. Ahora son las 08:38:58.

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