Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Pasar datos de IBexpert a SQL

Hola.

Quiero saber, como puedo madar datos de IBexpert a SQL(base de dato 'Nuve').

Se esta utilizando:

-Firebird 2.5
-Delphi xe2

aqui le muestro un codigo, el cual solo envia de SQL a SQL o IB a IB. Por su forma de como esta diseñado, claro. pero e estado buscando hacer algo parecido. pero no encuentro un resultado, que me haga de SQL a IB o viceversa.

Codigo:

Código Delphi [-]
if application.MessageBox('DESEA GUARDAR?','guardar un Registro',
     MB_ICONQUESTION OR MB_YESNO) = ID_YES then
       begin
           Dmodulo.ASISTENCIA_COBRAR.Close;
           Dmodulo.ASISTENCIA_COBRAR.SQL.Text:='insert into ASISTENCIA_COBRAR select * from ASISTENCIA_Madre';
           Dmodulo.ASISTENCIA_COBRAR.ExecSQL;
               Dmodulo.ibt.Commit;  // ibt ibtrasaction
               Dmodulo.ASISTENCIA_COBRAR.SQL.Clear ;
               Dmodulo.ASISTENCIA_COBRAR.SQL.Add('select * from ASISTENCIA_COBRAR ');
               Dmodulo.ASISTENCIA_COBRAR.Open;

               Dmodulo.ASISTENCIA_Madre1.selectSQL.clear;
               Dmodulo.ASISTENCIA_Madre1.selectSQL.Text:=('delete from ASISTENCIA_Madre');
               Dmodulo.ASISTENCIA_Madre1.ExecSQL;
               Dmodulo.ASISTENCIA_Madre1.selectSQL.clear;
               Dmodulo.ASISTENCIA_Madre1.selectSQL.Text:=('select * from ASISTENCIA_Madre');
               Dmodulo.ASISTENCIA_Madre1.Open;
               Dmodulo.ibt.Commit;

           SHOWMESSAGE('A sido Insertado');
       end;

Espero su respuesta, pr fvr y grcs...
Responder Con Cita
  #2  
Antiguo 26-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.051
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por maxzama Ver Mensaje
Quiero saber, como puedo madar datos de IBexpert a SQL(base de dato 'Nuve').
Ibexpert es un "manejador de bases de datos firebird e interbase.
SQL es un lenguaje,
¿Qué quiéres exactamente?

Cita:
Empezado por maxzama
pr fvr y grcs...
¿Se te ha estropeado el teclado?

Nuestra guía de estilo. gracias.
Responder Con Cita
  #3  
Antiguo 26-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Código Delphi [-]
Lo que quiero, es pasar los datos ya guardados. En la base de dato que esta creado en IBexpert, a la base de dato ya creado en phpadmin SQL.
----

(IBexpert) es donde tengo creado mis base de datos.

estoy utilizando firebird 2.5, para hacer la conección.

Utilizando el programa Delphi xe2..

En delphi xe2, estoy utilizando la libreria zeoslib(para la coneccion SQL), y la libreria InterBase(para la coneccion IBexpert).
Responder Con Cita
  #4  
Antiguo 26-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.051
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
A ver, ibexpert es un manejador de bases de datos firebird e interbase.
SQL es un lenguaje de consultas a bases de datos, ya sea firebird, interbase, mysql, postgresql, ms sql server, oracle, etc.
Responder Con Cita
  #5  
Antiguo 26-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
tengo dos base de datos que contienen los mismo campos:

1) En IBexpert

2) PHPAdmin


Y quiero pasar los datos de una base de dato a la otra base de dato.

Disculpa que no me hecho entender.
Responder Con Cita
  #6  
Antiguo 26-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.051
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por favor, lee nuestra guía de estilo, gracias.

No repitas hilos. Tienes la misma pregunta en varios hilos distintos, los he borrado.

Te vuelvo a repetir que ni ibexpert ni phpadmin son bases de datos.
¿No lees lo que te escribo?
Responder Con Cita
  #7  
Antiguo 26-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Esta informacion lo e escrito, en mi otro hilo. donde estoy tratando el mismo tema.

se que ibexpert y phpadmin no son base de datos. Sino es donde tengo creado mi base de datos o donde se encuentra mi base de dato...

No se si me hecho entender. espero tu respuesta, por favor y gracias.
Responder Con Cita
  #8  
Antiguo 26-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.051
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por maxzama Ver Mensaje
Esta informacion lo e escrito, en mi otro hilo. donde estoy tratando el mismo tema.
Precisamente, ese es el problema, ¿no lees la guía de estilo? No puedes tener el mismo tema en varios hilos distintos.

Cita:
Empezado por maxzama
se que ibexpert y phpadmin no son base de datos. Sino es donde tengo creado mi base de datos o donde se encuentra mi base de dato...
No se si me hecho entender. espero tu respuesta, por favor y gracias.
A ver, de nuevo, con ibexpert y phpadmin manejas bases de datos, las puedes crear, editar, eliminar, etc. ¿Pero tú qué quieres hacer? ¿y con qué bases de datos de qué tipo?
Responder Con Cita
  #9  
Antiguo 26-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.051
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Y deja ya de seguir creando hilos iguales. Al próximo serás sancionado.
Saludos.
Responder Con Cita
  #10  
Antiguo 26-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
A ver si te entiendo.

tengo dos base de datos que contienen los mismo campos y las base de datos estan creadas en:

1) En IBexpert

2) PHPAdmin


Y quiero pasar los datos, de una base de dato a la otra base de dato.

es decir: quiero pasar informacion o lo datos (de la base de dato creado en IBexpert), a la base de dato creada en phpadmin.

// repito tienen los mismo campos. las dos base de datos creadas en diferentes servidores o programa.
Responder Con Cita
  #11  
Antiguo 26-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.051
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por maxzama Ver Mensaje
tengo dos base de datos que contienen los mismo campos y las base de datos estan creadas en:

1) En IBexpert
2) PHPAdmin
Amigo maxzama, tienes 2 bases de datos iguales, ¿las dos son firebird?
Responder Con Cita
  #12  
Antiguo 26-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Gracias, no lo sabia.

entoces como paso la informacion de IBexpert a phpAdmin. Atraves de delphi.


ejemplo:
Asi como muestro en este codigo. donde paso los datos de una base dato a otra base de dato. pero este codigo no me sirve pasar dato de IBexpert a phpAdmin.

Código Delphi [-]
Dmodulo.ASISTENCIA_COBRAR.Close;
           Dmodulo.ASISTENCIA_COBRAR.SQL.Text:='insert into ASISTENCIA_COBRAR select * from ASISTENCIA_Madre';
           Dmodulo.ASISTENCIA_COBRAR.ExecSQL;
               Dmodulo.ibt.Commit;  // ibt ibtrasaction
               Dmodulo.ASISTENCIA_COBRAR.SQL.Clear ;
               Dmodulo.ASISTENCIA_COBRAR.SQL.Add('select * from ASISTENCIA_COBRAR ');
               Dmodulo.ASISTENCIA_COBRAR.Open;
Responder Con Cita
  #13  
Antiguo 26-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.051
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Amigo maxzama, tienes 2 bases de datos iguales, ¿las dos son firebird?
Responde a esto.
Responder Con Cita
  #14  
Antiguo 26-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
no.

esto es lo que quieres saber:

- firebird : IBexpert (base de dato DIA)

- vertrigo : PHPAdmin (base de dato DIA)

Última edición por maxzama fecha: 26-01-2015 a las 17:08:56.
Responder Con Cita
  #15  
Antiguo 26-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
no uno es de firebird y el otro mySQL.

esto lo que querias saber...
Responder Con Cita
  #16  
Antiguo 26-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Pasar datos de (Firebird a MySQL)

Tengo un IBDataset que se conecta con la base de dato firebird

Tengo un ZUpdateSQL que esta conectado a un ZQuery (de la libreria zeoslib), que se conecta con la base de dato MySQL.

Como hago a hora para pasar informacion de firebird a MySQL. Alguna idea, de como tendria que hacerlo en codigo.
Responder Con Cita
  #17  
Antiguo 26-01-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
"Nuve" ??? Qué dolor de ojos!!!!
Supongo que habrás querido decir nuBe

Pero bueno... al caso...
Después de 16 mensajes, parece que te has explicado:

Pasar datos de una base Firebird a una base MySQL.

Por un lado tienes que poder conectar a ambas bases de datos. A la base de datos Firebird, no tendrás problemas, porque ya lo haces.
En cuanto a la base de datos MySQL es un poco mas complicado.
Primero tendrás que abrir el puerto 3306 en el servidor MySQL.
Luego tendrás que decirle a MySQL que permita conexiones de fuera, creando un usuario y diciéndole que puede conectarse desde una IP externa.
Una vez tengas esto del lado del servidor, puedes conectar mediante las zeoslib o crear una conexión ODBC hacia esa base.
Finalmente te queda hacer el bucle que lea de una base y escriba en la otra...

Código Delphi [-]
// Abrir datos
QOrigen.Open;
// Abrir destino
QDestino.Open;

// Mientras haya datos, los inserto en destino
while (not QOrigen.EOF) do
begin
   QDestino.Insert;
   QDestino.Field.... := QOrigen.Field... ;
   QDestino.Post;
   QOrigen.Next;
end;

// Cierro Datos
QOrigen.Close;
// Abrir destino
QDestino.Close;
Responder Con Cita
  #18  
Antiguo 26-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
acabo de hacer este codigo:

pero no se como llamo el parametro a travez de un ZUpdateSQL.

Ejemplo: modulo.Dias_M_I.ParamByName('CEDULA').AsString;

Codigo delphi:

Código Delphi [-]
begin
Dmodulo.RegistroMadre2.SQL.Clear ;
Dmodulo.RegistroMadre2.SQL.Add('select * from RegistroMadre ');
DMODULO.RegistroMadre2.Open;

Dmodulo.RegistroMadre2.First;
       while not Dmodulo.RegistroMadre2.Eof do
             begin

                 if DMODULO.RegistroMadre2.FieldByName('NumeroCuenta').AsString>'' then

                 begin
                     Dmodulo.Dias_M_I.SQL.Text:=Dmodulo.Dias_M_I.InsertSQL.Text;
                     Dmodulo.Dias_M_I.ParamByName('CEDULA').AsString:=DMODULO.RegistroMadre2.FieldByName('Cedula').AsStri  ng;
                     Dmodulo.Dias_M_I.ExecSQL;
                     Dmodulo.Dias_M_I.SelectSQL.Text:=('select * from RegistroMadre ');
                     SHOWMESSAGE('A sido Insertado');
                 end;
       Dmodulo.RegistroMadre2.Next;
       end;
       Dmodulo.ibt.Commit;
end;

Última edición por maxzama fecha: 26-01-2015 a las 18:21:25.
Responder Con Cita
  #19  
Antiguo 26-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Gracias, por la corrección [duilioisola].

no avia visto, tu mensaje.

ya estoy utilizando lo siguiente:

Tengo un IBDataset que se conecta con la base de dato firebird

Tengo un ZUpdateSQL que esta conectado a un ZQuery (de la libreria zeoslib), que se conecta con la base de dato MySQL.

Última edición por maxzama fecha: 26-01-2015 a las 18:14:16.
Responder Con Cita
  #20  
Antiguo 26-01-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Notas para hacer un poco mas legible tu código:

Cada línea empieza por "Dmodulo."
Esto sugiere que todo este procedimiento debería ser parte del DataModule y no de Form que lo llama.

Código Delphi [-]
begin
   DModulo.InsertarEnMySQL;
end;

proceudre  TDModulo.InsertarEnMySQL;
begin
RegistroMadre2.SQL.Clear ;
RegistroMadre2.SQL.Add('select * from RegistroMadre ');
RegistroMadre2.Open;

RegistroMadre2.First;
       while not RegistroMadre2.Eof do
             begin

                 if RegistroMadre2.FieldByName('NumeroCuenta').AsString>'' then

                 begin
                     Dias_M_I.SQL.Text:=Dias_M_I.InsertSQL.Text;
                     Dias_M_I.ParamByName('CEDULA').AsString:=RegistroMadre2.FieldByName('Cedula').AsString;
                     Dias_M_I.ExecSQL;
                     Dias_M_I.SelectSQL.Text:=('select * from RegistroMadre ');
                     SHOWMESSAGE('A sido Insertado');
                 end;
       RegistroMadre2.Next;
       end;
       ibt.Commit;
end;

Luego además podrías utilizar "with do" para mejorarlo incluso un poco mas:

Código Delphi [-]
proceudre  TDModulo.InsertarEnMySQL;
begin
with RegistroMadre2 do
begin
   SQL.Clear ;
   SQL.Add('select * from RegistroMadre ');
   Open;
   First;
       while not Eof do
             begin
                 if FieldByName('NumeroCuenta').AsString>'' then
                 begin
                     Dias_M_I.SQL.Text:=Dias_M_I.InsertSQL.Text;
                     Dias_M_I.ParamByName('CEDULA').AsString:=FieldByName('Cedula').AsString;
                     Dias_M_I.ExecSQL;
                     Dias_M_I.SelectSQL.Text:=('select * from RegistroMadre ');
                     SHOWMESSAGE('A sido Insertado');
                 end;
       Next;
       end;
       ibt.Commit;
   end;
end;

Supongo además que la sentencia InsertSQL de la tabla DIAS_M_I necesitará más parámetros.
Algo así como "INSERT INTO REGISTRO HIJO (ID, NOMBRE, CEDULA) VALUES (:ID, :NOMBRE, :CEDULA)"
Esos parámetros también deberás asignarlos, o se insertarán como nulos o "vacíos".
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
error al restauarar una bases de datos en ibexpert alexglez1255 Firebird e Interbase 9 21-03-2014 00:56:13
error al crear base de datos en ibexpert martita Firebird e Interbase 9 10-06-2011 23:56:40
tipos de datos en ibexpert omitraz Conexión con bases de datos 9 24-06-2010 19:36:00
Error al crear base de datos con IBExpert pepitu Firebird e Interbase 3 04-12-2007 18:16:22
como pasar informacion de ibexpert a access Nelly Varios 1 05-04-2006 09:38:51


La franja horaria es GMT +2. Ahora son las 05:50:31.


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