FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Ado Connection
Hola, mi pregunta es muy clara y sencilla , ¿Como logro hacer una aplicacion CLiente - Servidor de base de datos SQL con ADO en Delphi???
y a la hora de trasladar ¿Que archivos debo copiar? gracias. 54LU2 Última edición por cmm07 fecha: 10-11-2008 a las 13:03:05. |
#2
|
||||
|
||||
Si te refieres a instalarlo en otra máquina, deberías comprobar que tienes actualizadas las MDAC de Microsoft o instalar el cliente de SQL.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
La forma más sencilla es usar un componente ADOConnection (que lo puedes encontrar en la paleta ADO), configurar la propiedad ConnectionString y elegir Provider for SQL Server. Hecho esto configurar la propiedad Connected al valor true.
Para empezar a trabajar necesitas usar componentes ADOTable o aun más recomendable ADODataset para recuperar datos, tambien puedes usar componentes ADOStoredProc o ADOCommand, debes assignar a cualquiera de estos componentes la propiedad Connection para que apunte al ADOConnection que configuraste previamente. Para redistribuir la aplicación, pues, por lo general no hay muchos problemas con sistemas como Windows XP sin embargo es recomendable instalar antes MDAC en su última versión que lo puedes encontrar en la web de microsoft
__________________
self.free; |
#4
|
|||
|
|||
Hola, gracias por su respuestas, pero tengo un servidor donde esta el Delphi y SQL, y tengo un cliente que es donde esta mi aplicacion( al instalar el MDAC 2.8 me da un error: MDAC 2.8 RTM no es compatible con esta versión de Windows. Todas sus características ya forman parte de Windows.), en delphi hao los sig.pasos:
1.- Creo una app.. 2.-agrego el ADOCONNECTION. 3.- me voy a los tres puntitos "..."en COnnectionString, luego en Build. 4.- elijo Microsoft OLE DB Provider for SQL Server y le doy a siguiente. 5.-en el primer edit, osea el nombre del servidor, coloco la ip publica del servidor: xxx.xxx.xxx.xxx 6.- en user : sa y en pass: XXXXXXXXX 7.- y al abrir el ComboBox de abajo en seleccione la base de datos se queda esperando un rato y me aparece el sig error: [DBNETLIB][ConnectionOpen(Connect()).]No Existe el servidor SQL Server o se ha denegado el acceso, luego hago clic en aceptar y : Error al iniciar sesión. No se puede recuperar la información del catálogo, y no me funciona nada. PD: Los firewall y antivirus los desactive toditos, funciona prefecto en el equipo local pero en el cliente o remotamente pues, el error... ¿Que puede ser? gracias 54LU2 Última edición por cmm07 fecha: 10-11-2008 a las 16:04:02. |
#5
|
||||
|
||||
Perdón, yo había entendido que la aplicación ya estaba funcionando (ya la tenías) y sólo te faltaba instalarla en otra máquina.
En cuanto a ADO, en la WIKI del club hay varios ejemplos concretos y explicados paso a paso de cómo debes hacer para conectarte mediante ADO a una Base de Datos. Aquí tienes uno y aquí otro, muy bien explicados. Aunque funcionan sobre Access, es igual o muy similar sobre SQL Server.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
|||
|
|||
muchas gracias Neftali, voy a ver y analizar los ejemplos, gracias.
Edito: Estaba revisando pero lamentablemente en ninguno sale como hacer un CLiente/Servidor y está en Access y yo necesito SQL Server, ya pude conectar la base de datos pero en el equipo local, ahora necesito hacerlo remotamente(Cliente - Servidor) gracias de todas formas 54Lu2... Última edición por cmm07 fecha: 11-11-2008 a las 01:38:47. |
#7
|
|||
|
|||
sigo sin solucionar nada , nose porque me marca ese error, que fome porque necesito urgente esto del CLiente/Servidor de SQL Server por IP publica, si alguien tiene alguna solucion, tiene que ser para delphi 2009 no importa si es ADO, DBX4 u otros con tal que no sea Interbase(no me gusta la manera de como funciona) y que sea rapido no hay problema.....
gracias. |
#8
|
||||
|
||||
Hola cmm07,
No dispongo de SQL Server en mi equipo por lo que no podría probar donde está el fallo. En el segundo post del hilo comentaste de que al instalar MAC te dio un error ¿No será por casualidad de que esto haya causado alguna anomalía? Por otro lado no nos comentas que versión de SQL Server, ni del Windows... he estado buscando en la red de redes sobre dicho error y llego a muchos foros en donde preguntan por dicho error... lo curioso es que en ninguno de todos esos foros alguien ha dado una solución. Lo que tienen en común todos estos post es que se han empleado en la mayoría SQL Server 2003. ¿Es tu caso? Lo extraño es que dices que puedes establecer conexión en forma local, pero no a través de red. ¿Por casualidad hay algún router, swich, o algo por el estilo en el "medio"? La verdad es que hay muchas preguntas más para hacerte, cuanto más detalles nos puedas aportar vamos a poder ser más precisos y encontrar más rápido la solución o incluso alguna alternativa. Dices que puedes contemplar otro motor de base de datos, mientras que no sea Interbase. Porqué no pruebas, por el momento, si puedes establecer conexión con una DB en Access (de paso nos sacamos alguna duda). Hay muchos motores, el que puedo recomendar es Firebird. Se he comentado mucho al respecto de este motor (ve al sub-foro dedicado a éste), y si también podrías optar por MySQL, PostgreSQL, Oracle, Informix, entre otros. Saludos, |
#9
|
||||
|
||||
Vamos a ver...
Las cosas o se hacen bien o mejor no hacerlas. Si quieres conectar con ADO, pues postea la pregunta y las dudas uy errores que te van saliendo, pero si lo intentas hacer todo deprisa, sin explicar con detalle lo que estás haciendo y los errores que te pasan y encima vas probando diferentes cosas es imposible seguir el hilo y ayudarte. Cita:
Ahora que ya sabes cómo utiliar los componentes podemos seguir adelante. Conectar en local y en remoto es lo mismo simpleente que debes utilizar como nomnbre de servidor uno distinto o la dirección IP. Cita:
Asegurate de que tienes acceso a la IP del servidor y que los puertos correspondientes están abiertos.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#10
|
|||
|
|||
Hola, primero quiero agradecerles por todo lo que estan haciendo por mi, de verdad mcuhas gracias, pondré un poco más de detalles:
-Trabajo con SQL Server 2000 y lamentablemente no puedo cambiar, hoy me dijieron que no podía ser otro motor de datos - Tengo Windows XP Service Pack 3 Profesional (el Cliente es SP2) respecto al MDAC, antes de que lo bajase ya estaba el problema con lo del SQL por lo tanto no creo que haya creado alguna anomalía -Utilizo un router pero me aseguré de que este no molestara, también abrí el puerto 1433 que es del SQL Server, y lo raro que lo hago con MySQL con los ZeosLib y funciona perfecto, pero como aún no llega para delphi 2009 no puedo esperar y tuve que elegir ADO. -El error que pasa cuando intento conectar es el siguiente: [DBNETLIB][ConnectionOpen(Connect()).]No Existe el servidor SQL Server o se ha denegado el acceso, luego hago clic en aceptar y aparece otro mensaje: Error al iniciar sesión. No se puede recuperar la información del catálogo, y no me funciona nada. - El formato de la Ip es la siguiente: xxx.xxx.xxx.xxx (Es una ip publica) - y lo más raro es que puedo conectar en forma local pero solo con el Nombre del equipo: USUARIO-XXXXXXXX, pero también intenté ese metodo para conectarme remotamente y también me marco el error, también marca ese error en el equipo local pero solo cuando coloco la ip publica, porque si coloco 127.0.0.1 funciona perfecto(ojo solo en el equipo local), no sé como explicarme mejor es medio dificil lo que me sucede, pero aver si con esto me podeis ayudar... PD: busco en google y hay varios con el mismoproblema, pero veráz que en ninguna hay una solución en concreto. gracias. 54lu2 |
#11
|
||||
|
||||
A mi solo se me ocurre que en la cadena de conexion estas indicando utilizar la Seguridad integrada de Windows NT y quizás el cliente desde el que intentas conectarte no está autorizado. En fin algo más para descartar.
Saludos |
#12
|
|||
|
|||
hola, gracioas por intentar ayudar, pero lamentablemente voy a tener que descartar porque ya me seguré con seguridad integrada y sin seguridad, pero sigo investigando sobre el tema, si tengo la solución la pondre aqui..
gracias |
#13
|
|||
|
|||
Hola, estoy cada vez más cerca de mi problema, el problema no es nada que ver ni con los MDAC, ni los componentes ADO, ni OLE DB, ni Delphi, ni nada de eso, el problema es que al colocar e intentar conectar por medio de una IP, me dice que No Existe el servidor SQL Server o se ha denegado el acceso, en este caso descubrí que Se está denegando el acceso, solamente debo descubrir como permitir entradas a conexiones remotas en SQL Server 2000 y estoy al otro lado, cuando descubra esto lo pondré, si ustedes saben haganmelo saber...
gracias.. 54LU2 |
#14
|
||||
|
||||
Qué versión de Sql Server 2000 utilizas.......... que yo sepa la versión interprise ya viene pre-configurada para conexiones remotas... pero eso sería lo más lógico.... no está configurada para conexiones remotas.
__________________
Soy pésimo en lo que mejor hago y por eso me siento bendecido. |
#15
|
|||
|
|||
hola pues utilizo la SQL SERVER 2000 PERSONAL alomejor no vienen con la conexiones remotas conectadas, si supieran como activar esta opcion se los agradeceria mucho.....Disculpa por responder tarde , antes no pude XD
gracias 54LU2 |
#16
|
||||
|
||||
Ok, nunca trabajé con la versión PERSONAL pero bueno, en la enterprise 2000 (ojala que sea igual que en la PERSONAL) te vas primero al Administrador Corporativo de Sql Server (inicio->programas->sql server->administrador corporativo) donde creas las BdD, haces consultas sql, etc. una vez en el Administrador Corporativo hay una opción llamada "Propiedades de configuración de Sql Server" en el menú "Herramientas" osea menù Herramientas->Propiedades de configuración de Sql Server una vez ingresado a la opción te vas a la pestaña General y haces clic en el botón Configuración de Red, abre una ventata con dos pestañas: General y Bibliotecas de Red, en la pestaña General verás que hay dos columnas, una con protocolos deshabilitados y otra con protocolos habilitados, lo que debes hacer es habilitar el protocolo TCP/IP para conexiones remotas (llevar a la segunda columna de protocolos habilitados), y listo...... Sql Server escucha conexiones remotas en una red TCP/IP (este protocolo es el más utilizado).
Ojo que para que escuche conexiones remotas Sql Server, el Servicio debe estar iniciado...........(inicio->programas->sql server->administrador de servicios). Tu servidor debe estar configurado (con ip, etc.) y por si acaso el puerto de conexion remota en sql server es el 1433 por defecto (por si acaso para el firewall). Todas estas configuraciones en el servidor. Saludos.
__________________
Soy pésimo en lo que mejor hago y por eso me siento bendecido. |
#17
|
|||
|
|||
gracias. lo probaré y comentaré luego de formatear mi pc
54LU2 |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Connection lost to database | AMINOA2R | Conexión con bases de datos | 0 | 04-06-2007 11:49:23 |
ADO Connection - unknown error | hoobit | Conexión con bases de datos | 4 | 13-02-2007 22:50:25 |
Connection to BD SQLServer | hmv | Conexión con bases de datos | 1 | 30-10-2006 19:35:51 |
Tado connection | jdattoli | Conexión con bases de datos | 6 | 16-08-2005 15:47:47 |
socket connection | Slash | Internet | 0 | 23-08-2004 19:46:50 |
|