Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-01-2006
AFilth AFilth is offline
Miembro
 
Registrado: ago 2005
Posts: 119
Poder: 19
AFilth Va por buen camino
Question Error al intentar conectar Delphi 7 y SQL Server 2000 mediante ADOConnection,ayuda...

Hola a todos. Tenia hecha mi aplicacion con la conexion en un TDataBase ya q trabajaba en red local. Estaba configurado un alias en el BDE Adminitrator y todo funcionaba correctamente.

Ahora la aplicacion tiene q estar montada en un servidor en una red local igual q antes, pero ahora tambien debe poder accederse desde fuera de esa red, es decir pasando por internet sabiendo la IP del servidor de BBDD.

Para esto debo utilizar un TAdoConnection verdad?
Bien, he estado intentando hacer una prueba sencilla, en la q en un formulario inserto un TADOConnection y configuro su connectionString como muestro en la imagen adjunta pero al intentar conectar me da error.

Mis preguntas son las siguientes:

1. Para hacer pruebas y ver si funciona correctamente, puedo tener instalado en mi maquina el servidor e intentar acceder a el mediante el cliente (programa de delphi) usando mi ip publica q es fija???

2. La configuracion q se ve en la imagen es la correcta o se me esta pasando algo?

3. Tengo q configurar algo del SQLServer aparte de un usuario con los permisos correspondientes?

4. Debo configurar algo fuera del SQLServer, tipo abrir puertos o cosas asi?

Un saludo y gracias.

EDITADO: No hay forma de subir la imagen del error q me daba y la configuracion asi q la describo...

En la pestaña de conexion de las propiedas del connectionString tengo puesto:

1.En el nombre del servidor: Mi IP publica.
2.Usar nombre y contraseña especificos: User ---> El nombre de usuario
Password ---> el password
3.Seleccione la base de datos dle servidor: Nombre de la bbdd de mi servidor

Por supuesto he puesto en la pantalla de driver de proveedor el adecuado.

Última edición por AFilth fecha: 03-01-2006 a las 23:32:32.
Responder Con Cita
  #2  
Antiguo 04-01-2006
Avatar de Xianto
Xianto Xianto is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nací en Neuquén (ARG), desde 2001 Spain
Posts: 151
Poder: 20
Xianto Va por buen camino
Buenas... tengo un par de preguntas para resolver el problema.

Estas conectandote usando OleDB o Odbc ?
En el Servidor SQL, tienes puesto para acceder usuarios de Windows y del SQL ?
El server acepta conexiones al 1433 o pipes ?
Si acepta conexiones al puerto 1433 el server lo tiene abierto ?
Cual es el "driver de proveedor, el adecuado" que has puesto ?

Te diria que intentes conectarte al servidor mediante el usuario SA (permisos del SQL), por el puerto 1433, usando OleDB... Espero que tengas una versión de MDAC 2.7 o superior.

Para ver quien gestiona la seguridad, con el Administrador de SQL, te conectas al server y en el propio server le das al boton derecho del mouse, seleccionas propiedades, y en la pestaña Seguridad, verifica que la autentificación de usuarios se realiza con SQL y Windows.

Hay muchas opciones y muchas respuestas, pero creo que respondiendo estas preguntas te podremos ayudar !

Saludos.
__________________
El diseño dira si tiene futuro...
Responder Con Cita
  #3  
Antiguo 04-01-2006
AFilth AFilth is offline
Miembro
 
Registrado: ago 2005
Posts: 119
Poder: 19
AFilth Va por buen camino
Hola Xianto, ahora mismo estoy en el curro y no puedo ponerme con ello ya q lo tengo en casa pero te contesto algunas de las preguntas q me has hecho:

1. Estas conectandote usando OleDB o Odbc ?
Creo q estoy usando OLE
2.En el Servidor SQL, tienes puesto para acceder usuarios de Windows y del SQL ?
Sí, tengo lo de seguridad en el modo mixto (creo q te refieres a eso...)
3.El server acepta conexiones al 1433 o pipes ?
Eso tampoco sé bien como mirarlo, si te refieres a lo de Client Network Utility, ayer me cree un alias q usaba TCP/IP y cuando lo hacía así se bloqueaba. Si lo dejaba tal como está sí q me iba (en red local).
4.Si acepta conexiones al puerto 1433 el server lo tiene abierto ?
Sí, el router tiene abierto el puerto 1433 tanto para subida como para bajada.
5.Cual es el "driver de proveedor, el adecuado" que has puesto ?
Ahora no se recuerdo el nombre exacto pero es el q viene como MS SQL o algo así, de todas formas digo q debe ser el correcto pq en red local todo va bien con ese driver de proveedor.

Un saludo.

Última edición por AFilth fecha: 04-01-2006 a las 19:41:10.
Responder Con Cita
  #4  
Antiguo 04-01-2006
AFilth AFilth is offline
Miembro
 
Registrado: ago 2005
Posts: 119
Poder: 19
AFilth Va por buen camino
Bueno, tras bastantes pruebas creando una conexion con el ODBC de sqlserver y con los componentes tanto TDatabase como ADOQuery, cuando el servidor está en red local todo funciona bien, pero cuando lo intento con mi ip pública no hay manera de acceder a él.

Creo q el error viene por ahí. Ahora hago yo algunas preguntas...

Se puede tener montado un SQL Server 2000 bajo un windows xp y q esté actuando como servidor no s´solo en red privada, sino tb en la pública ó hay q tenerlo montado en algún 2000 server, NT server o 2003 server?

Creo q mi problema viene de q no consigo conectar al servidor por puerto...a q puede ser debido si tengo ese puerto abierto?

Salu2.
Responder Con Cita
  #5  
Antiguo 05-01-2006
AFilth AFilth is offline
Miembro
 
Registrado: ago 2005
Posts: 119
Poder: 19
AFilth Va por buen camino
Buenas otra vez, al final veo q relleno el post yo solo
He pensado antes, hablando con unos compañeros de trabajo, q como tengo router seguramente sea proble a de esto, ya q ahora mismo está configurado en multipuesto. Supongo q tendré q configurar la NAT ya q si no parece q no está accesible el puerto a través de mi ip fija.

Cuando pruebe ya os cuento...

Un saludo.
Responder Con Cita
  #6  
Antiguo 05-01-2006
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

Porqué configuras ODBC si estas usando tecnología ADO ?, este último es totalmente independiente de ODBC, eso está claro !!
Ahora yo me he conectado poniendo la ip del servidor de SQL Server a través de red privada (VPN).
No basta saber la dirección del server de la BD para ser vista desde fuera de esa red, para eso debes saber la dirección de esa red, eso se logra con tecnología VPN, tú puedes conectarte desde internet desde cualquier parte pero debes tener una VPN, por lo menos yo no conozco otra forma de acceder desde otra lugar que no sea así.

Hasta Luego -
__________________
No todo es como parece ser...
Responder Con Cita
  #7  
Antiguo 05-01-2006
Avatar de Xianto
Xianto Xianto is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nací en Neuquén (ARG), desde 2001 Spain
Posts: 151
Poder: 20
Xianto Va por buen camino
Perdón por no escribir, es que he estado complicado.

Creo que tu problema es simplemente de puertos.

Para conectarte a SQL, necesitas abierto el puerto 1433 del server para hablar con el server... Este te pedira usuario y pass, y si todo va bien la comunicación inicia.

Intenta hablar con ese puerto desde afuera, quizas tengas multipuesto y no puedas abrir ese puerto a menos que configures NAT.

Por otro lado, verifica que en Delphi tengas OleDB para la conexión con la DB y que el driver del proveedor es SQLOLEDB o SQLOLEDB.1, porque de lo contrario estarias configurando ODBC y utilizando OleDB, y son cosas distintas.

Para probar desde afuera, te sugiero que lo hagas con ODBC, ya que es más fácil, asi que intenta generar la conexión con el puerto 1433 o con Pipes, para ver cual va.

Y con el SQL en XP, tienes la pega de que debes estar usando el SQL Desktop Engine, no la versión Server, ya que en XP no funciona... Tiene algunas limitaciones, pero son de tamaño de DB, memoria, cpu y conexiones.

Bue, te dirias que intentes configurar el NAT y nos cuentas !

Saludos.
__________________
El diseño dira si tiene futuro...
Responder Con Cita
  #8  
Antiguo 05-01-2006
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Cita:
Empezado por Xianto
Perdón por no escribir, es que he estado complicado.
Sin preocuparse , cada uno ayuda en la medida que pueda
__________________
No todo es como parece ser...
Responder Con Cita
  #9  
Antiguo 07-01-2006
AFilth AFilth is offline
Miembro
 
Registrado: ago 2005
Posts: 119
Poder: 19
AFilth Va por buen camino
Gracias por las contestaciones chicos. Al final era tema del router, al tenerlo en multipuesto y no tener ocnfigurada la NAT no podia establecer la conexion con la BBDD desde fuera. Cuando he cambiado a monopuesto para probar no ha habido ningun problema y todo funciona perfectamente.

Ahora solo me queda aprender a configurar la NAT para dejarlo en multipuesto como estaba antes.

Un saludo y muchas gracias otra vez.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:16:26.


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
Copyright 1996-2007 Club Delphi