![]() |
Conectarme remotamente de un Servidor local a un ISP
Tengo el siguiente problema.
Tengo un pequeño mantenimiento de Articulos hecho en Delphi7 , en el cual tengo un formulario que contiene un grid y este me visualiza todo la tabla articulo, y quisiera que presionando una boton me conecte remotamente a la otra base de datos que se encuentra en un ISP de internet. Tanto en mi ordenador local como en el ISP uso el MYSQL Lo que pasa, es que tengo una web dinamica que tiene muchos articulos, y prefiero darles mantenimiento en mi ordenador local y cuando esta todo ok. enviarlo a Internet (ISP). Gracias y saludos. |
Hola
Se hace igual que en local, indicas el host (la ip o nombre del servidor), indicas el usuario y la clave y ya esta, lo único que tienes que tener en cuenta es que el usuario tiene que poder conectarse remotamente, osea que no sea solo local. |
Por ejemplo como seria cuando le de click dentro de un BitButton y toda la informacion que esta en una tabla T_Articulos (esto lo veo en un DBGRID) lo envie al IPS.
En otras palabras : 1° Toda la tabla articulos lo presento en un DBGRID 2° Mediante un Bit Button envio todo el contenido del DBGRID(T_Articulos) a internet, claro esta que el servidor del ISP ya existe la Tabla T_Articulos lo que yo hago es sobre escribir toda esa informacion. Como seria la codificacion o derrepenten hay componentes, estare muy agradecido si me orientarias en esto.... seria excelente. Cual seria los comandos que deberia tener para ser el envio. Gracias y Saludos. |
Hola
En primer lugar si quieres trabajar a la vez con dos bases de datos, una local y otra remota, deberas crear dos objetos de base de datos (no se con que objetos trabajas), para mandar los datos de local a internet se me ocurren varias formas: 1. Crear tantas sentencias INSERT como sean necesarias y mandarlas a la base de datos en internet mediante un objeto query. (mysql permite añadir varios registros con un solo iINSERT) 3. Insertar los registros con la funcion append del componente table asociado a la tabla de la base de datos en internet. 2. Exportar el contenido a un formato que reconozca Mysql subirlo al servidor en internet y importarlo con MySql. Espero que te sirva de algo. |
ok. si te entiendo, pero como haria para conectarme al servidor del ISP, o cuales son las propiedades del objeto para conectarme al servidor de internet.
Yo uso: Un TTable con su name T_Articulos Un TDataSource con su name DS_Articulos , dataset=T_Articulos Un DBGRID con Datasource=DS_Articulos y un boton.... y en este boton es donde quiero que al presionarlo me lo envie a como seria la conexion al servidor: tengo la IP, Usuario y la Clave. Internet. Gracias. |
Hola
¿como estas conectando con la base de datos local? ¿con ODBC? Como no tengo muy claro como estas trabajando te lo explico de otra forma: Coge la conexión que has creado para tu base de datos local, crea otra identica, ahora con esta nueva cambias lo siguiente: - en el host ( o donde debes haber puesto 'localhost' o la IP de tu maquina ) debes poner la IP del servidor de tu ISP - Como usuario 'user' ( o donde tu debes haber puesto 'root' o un usuario de tu base de datos local ) debes poner el usuario que te a proporcionado tu ISP. - Clave 'password' debes poner la clave que te ha proporcionado tu ISP. Ahora debes tener dos conexiones una local y otra remota. Espero haber aclarado tus dudas. |
Estoy conectando a mi tabla mediante ODBC usando el MYSQL y en el ODBC tengo los datos siguientes:
DATASOURCE NAME : Conexion_MYSQL DESCRIPTION : Exportacion de Datos SERVER: localhost USER: root PASSWORD: DATABASE: ventas Esto tengo en mi conexion en ODBC. Ahora tu me dice que haga otra conexion ODBC ????? DATASOURCE NAME : Conexion_MYSQL DESCRIPTION : Exportacion de Datos SERVER: 205.210.80.232 USER: xxxxxxxxxx PASSWORD: xxxxxxx DATABASE: ventas creo que es asi pero que tengo que poner en el bit button ... esto ya me tio cabezon.... Gracias por la paciencia. |
Hola
Cambia el nombre dek "DATASOURCE NAME" y poco mas. Como acción para el botón puedes hacer algo asin: - Recorre la tabla (o query) que tienes asociada al grid y genera tantas sentencias INSERT como sea necesario - Crea un TQuery asociado a la nueva conexción. - Metes como SQL cada una de las sentencias que has creado y ejecutas el query (no recuerdo la funcion, lo miras en la ayuda). - Creo que existe un objeto que te permite mandar varios queris a la vez. y poco más. Espero que te sirva |
Hola Nuevamente
Estoy creando el ODBC (en el DSN de Usuario) DATASOURCE NAME : EnvioInternet DESCRIPTION : Exportacion de Datos SERVER: 205.210.80.232 USER: dinfopin_xkasos PASSWORD: xxxxxxx DATABASE: ventas para conectarme a mi isp y cuando presiono sobre el Test me arroja el sgte. error. [Mysql][ODBC 3.51 Driver]Access denied for user : 'dinfopin_xkasos@80.34.230.98'(Using password:Yes) uso el puerto por defecto 3306 Ahora el IP 80.34.230.98 es mi ip de mi ordenador local pero por ningun lado me hace la conexion al server del ISP (IP = 205.210.80.232) Hago todo esto y si hay conexion entonces prodre hacer la programacion en Delphi, caso contrario no lopodria ser, por mas que la programacion este ok, y sin la conexion no puedo hacer nada. Me puedes dar una mano en que estoy fallando. o derrepente hay algo que modificar en los archivos de configuracion del Mysql que desconozco. |
Hola
Realiza una simple prueba: Crea una aplicación de un solo form con un botón, añade una conexión con tu ISP y que al pulsar el boton se conecte. Así te aseguras que ningun otro código pueda afectar a tu conexión y puedes hacer diferentes pruebas hasta localizar el problema. Yo nunca he trabajado con ODBC, siempre uso los componentes ZEOS (http://www.zeoslib.net) si ves que no te aclaras puedes probar con estos componentes que son muy fáciles de usar. |
Hola ya instale los componentes zeos lib y tengo los sigueintes componentes:
ZConnection1 ZReadOnlyQuery1 ZQuery1 ZTable1 ZUpdateSQL1 ZSQLMetadata1 ZSQLProcessor1 ZSQLMonitor1 Segun mis datos que te he alcanzado cual componente deberia usarlos y que propiedades tendria que colocarlos. Te agradeceria bastante si me pudieras guiar debido a que es la primera vez que uso esta clase de componentes. Gracias |
Hola
Cita:
Mira en la carpeta de ZEOS por que si no me equivoco hay una carpeta doc donde hay algo de documentación. Hace mucho que no trabajo con delphi por lo que no recuerdo ni las funciones ni las propiedades, pero basicamente funciona asin. - ZConnection1 Conexión con la base de datos. Tienes que indicar el host (ip), user y password, y poner la proviedad 'active' a true con la funcion 'conect', creo recordar. Con esto ya has conectado con el servidor. -ZTable1 Le indicas la conexión que debe usar y una tabla de esa base de datos y ya puedes acceder a la info. Debes usar las funciones 'Open' y 'Close' -ZQuery1 Le indicas la conexión que debe usar y pones en la propiedad 'SQL' una sentencia sql, si es una consulta debes usar las funciones 'Open' y 'Close' si es un insert, update, ... creo que debes usar la funcio 'execsql' o algo asin. -ZReadOnlyQuery1 Como query pero solo puedes hacer consultas no modificaciones. ZUpdateSQL1 - ZSQLMetadata1 Esto sirve para actualizar un query que no pueda actualizar directamente el componente TQuery por ser muy complejo. Hay que relacionarlo con el TQuery e indicarle las sentencias SQL para modificar, borrar y añadir. Lo he usado muy poco. - ZSQLProcessor1 Ni idea, supongo que será algo tipo procedimientos almacenados o algo por el estilo. - ZSQLMonitor1 Monitoriza los accesos a la base de datos Espero que te sirva de algo, y busca documentación tanto de MySQL como de los ZEOS porque te veo muy verde y con demasiada prisa como para ponerte a trabajar en condiciones. |
La franja horaria es GMT +2. Ahora son las 08:53:46. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi