Page 1 of 2

Conectar con BD desde otros puestos

PostPosted: Wed Apr 15, 2009 1:57 pm
by jfafive
Hola Foro!

Estoy probando una aplicación de mantenimiento multiusuario.

Trabaja con ADO.
Usa base de datos en SQL Server Express Edition 2005.

Tengo la siguiente duda.
He realizado pruebas de funcionamiento en el mismo equipo donde tengo la base de datos.
Para ello, he ejecutado varias copias del exe con el fin de emular un funcionamiento en red.

Peeeeero! Ahora sí que quisiera trabajar en terreno real, desde el puesto numero 2 que será mi portatil.
Mi dua es que no sé exactamente bien que pasos hay que seguir para preparar el terreno para que la aplicación pueda ejecutarse en el puesto 2 y acceder a la base de datos.

Yo he realizado unos pasos pero no he conseguido nada.
1) He hecho visible (shared) la carpeta donde está la base de datos, siendo accesible desde el que llamaré puesto 2.
2) Me he asegurado de que el puesto 2, tenga el driver SQL Server. Lo he confirmado mirando en ODBC.

Pero cuando ejecuto la aplicación, me devuelve un error.
El error devuelto, se produce en este código:

Code: Select all  Expand view

.......
local cConnectionString

TRY
   oCnnDb := TOleAuto():New( "ADODB.Connection" )
CATCH
   MsgStop( "NO SE PUDO CREAR LA CONEXION" )
END

cConnectionString := "Driver={SQL Server}"          + ;
                     ";Server=MISERVIDOR-01\SQLEXPRESS"  + ;
                     ";Database=pruebas"                   + ;
                     ";Trusted_Connection=yes"

oCnnDb:connectionString := cConnectionString

TRY
   oCnnDb:Open()
CATCH
   MsgStop( "NO SE PUDO ABRIR LA CONEXION" )
END
...........
 


Si alguien se ha encontrado con este problema a la hora de querer probar su aplicación en una red real, por primera vez,
sus consejos serían muyyy valiosos.

Gracias,
Javier.
:?:

Re: Conectar con BD desde otros puestos

PostPosted: Wed Apr 15, 2009 3:00 pm
by horacio
Solo debes poner el ip del servidor y tiene que salir andando, así lo hice yo con MySql.

Re: Conectar con BD desde otros puestos

PostPosted: Wed Apr 15, 2009 4:36 pm
by jfafive
¿Me podrías poner algún ejemplo?
Gracias,

Javier.

Re: Conectar con BD desde otros puestos

PostPosted: Wed Apr 15, 2009 4:47 pm
by Joel Andujo
Javier, tienes que configurar el SQLExpress, por default trae que no permita conexiones remotas
checate este link, ahi te indican qe hacer

http://support.microsoft.com/kb/914277/es

Saludos
Joel Andujo

Re: Conectar con BD desde otros puestos

PostPosted: Mon Apr 20, 2009 3:12 pm
by jfafive
Gracias Joel,

Ya he seguido los pasos que me indicas en el hilo.
Y tengo SQL Server 2005 configurado para acceso remoto.
Pero cuando ejecuto la aplicación desde el puesto de red, me sigue diciendo que no se pudo conectar.

Code: Select all  Expand view
cConnectionString := "Driver={SQL Server}"          + ;
                     ";Server=SERVIDOR1\SQLEXPRESS"  + ;
                     ";Database=prueba"                   + ;
                     ";Trusted_Connection=yes"

oCnnDb:connectionString := cConnectionString

TRY

   oCnnDb:Open()

CATCH

   MsgStop( "NO SE PUDO ABRIR LA CONEXION" )

END


No sé como decirle desde código, que debe conectar con el servidor. ¿tal vez unz IP?
¿y la carperta donde está la base de datos, hay que declararla shared?
:(

Re: Conectar con BD desde otros puestos

PostPosted: Mon Apr 20, 2009 4:48 pm
by carlos vargas
NO hay necesidad de establecer la carpeta de datos como shared.
si debes buscar la forma de que MSSQL acepte conexion por el tcp/ip ya que por defecto esta dasbilitada, esto segun lo he escuchado.

prueba las dos formas que te indico.

Code: Select all  Expand view

cConnectionString := "Driver={SQL Server}"          + ;
                     ";Server=\\WORKGROUP\PCWITHMSSQL"  + ;  /*;Server=192.168.100.101*/
                     ";Database=prueba"                   + ;
                     ";Trusted_Connection=yes"

oCnnDb:connectionString := cConnectionString

TRY

   oCnnDb:Open()

CATCH

   MsgStop( "NO SE PUDO ABRIR LA CONEXION" )

END
 

Re: Conectar con BD desde otros puestos

PostPosted: Tue Apr 21, 2009 7:35 am
by jfafive
Hola Carlos,

Gracias por tus consejos, pero si tengo la conexión de SQL Server habilitada como
Usar TCP/IP y canalizaciones por nombre
Y la IP que especifico desde el puesto es la de mi ordenador principal.

La verdad, es que no sé porqué no funciona.
Si acaso, he visto en el ODBC que hay dos Drivers para SQL Server.
Uno se llama SQL Server y el otro SQL Native Client.
No sé si tendrá algo que ver.

Seguiré investigando.
Gracias.
:?

Re: Conectar con BD desde otros puestos

PostPosted: Tue Apr 21, 2009 3:00 pm
by Joel Andujo
Para conectar con MSSQL2005 se necesita el SQL Native Client.
Este debe estar tanto en el server como en todas las estaciones.
Puedes en encontrar el instalador en la web de microsoft.

Saludos
Joel Andujo

Re: Conectar con BD desde otros puestos

PostPosted: Tue Apr 21, 2009 4:48 pm
by jfafive
Joel,

Ya tengo el SQL Native Client en la estación.
Pero sigue sini poder conectar.

¿sabes si debo tener instalado el SQL Server tambien en los puestos de trabajo?

Re: Conectar con BD desde otros puestos

PostPosted: Tue Apr 21, 2009 5:46 pm
by Joel Andujo
Si debe estar en cada estación también

Saludos
Joel Andujo

Re: Conectar con BD desde otros puestos

PostPosted: Tue Apr 21, 2009 5:48 pm
by Joel Andujo
Perdón, únicamente el SQL Client Native en cada estación.
No es necesario sl SQL Server en todas las estaciones

Re: Conectar con BD desde otros puestos

PostPosted: Tue Apr 21, 2009 5:54 pm
by jfafive
Pues no hay forma de que funcione.
:cry:

Re: Conectar con BD desde otros puestos

PostPosted: Tue Apr 21, 2009 7:18 pm
by Joel Andujo
Carcamba, Javier esta raro esto. Yo conecto sin problemas.
Se me ocurre :
1) Comparte el disco duro de la estación y dale permiso para que otros usuarios pueda modificar
los archivos, esto a mananera de prueba.
2) Verifica que desde las estaciones se vea el server, es decir que esten dentro de la misma
red (grupo de trabajo en caso de ser una red microsoft)

Saludos y espero que te funcione
Joel andujo

Re: Conectar con BD desde otros puestos

PostPosted: Tue Apr 21, 2009 7:22 pm
by Enrrique Vertiz
Javier, prueba siguiendo "con exactitud" los pasos que indica este Link, Yo tambien tube un problema similar hace algun tiempo y con estas indicaciones me pude conectar.

http://www.wikipeando.com/index.php/archives/141

OJO no se conecta con numero de IP, sino con el nombre del server Mi equipo\Mi server, por ejemplo en mi caso me conecto desde mi notebook a otra maquina que es mi servidor MsSQL 2005 asi : evertiz-desk-01\sqlexpress.

Por otro lado, haz probado conectarte con algun otro programa que no sea el tuyo, desde la otra PC, por ejemplo con el EMS para MsSQL (http://www.sqlmanager.net), hay una version Lite, prueba primero con un software como estos, si se hace la conexion, el problema esta en tu codigo y si este programa no puede hacer la conexion el problema esta en el servidor y los atributos que falten para permitirte acceso remoto.

Re: Conectar con BD desde otros puestos

PostPosted: Tue Apr 21, 2009 8:13 pm
by jfafive
Enrique, Joel,

Gracias por vuestra paciencia.
Espero que funcione.

Yo también pienso que es extraño y que probablemente se deba a algún paso que me estoy saltando o estoy haciendo mal. Pues es la primera vez que me aventuro en una aplicación cliente-servidor.

Ya les comentaré los resultados de las pruebas.
Un saludo,

Javier.
:|