Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-09-2012
ElMug ElMug is offline
Miembro
NULL
 
Registrado: jul 2012
Posts: 163
Poder: 12
ElMug Va por buen camino
Si. Gracias Roman.

A esto me referia, mas sin detalles, por no ser usuario de los Zeos.
Responder Con Cita
  #2  
Antiguo 11-09-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 13
martini002 Va por buen camino
Asi es Roman, siempre se me pasa ese ExecSQL;
pero fijate lo puse asi y me da un error de sintaxis cerca del Select

Código Delphi [-]
ZQuery1.SQL.Text := 'attach database "\ruta\a\la\base2.db" as base2';
ZQuery1.ExecSQL;

ZQuery1.SQL.Text := 'insert into base2.tablaA (select * from base1.tablaA)';
ZQuery1.ExecSQL;

Cita:
'SQL Error: near "Select": syntax error'
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.
Responder Con Cita
  #3  
Antiguo 11-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Sí, pegué algo que no es correcto. Pon así la seguda sentencia:

Código Delphi [-]
ZQuery1.SQL.Text := 'insert into base2.tablaA select * from tablaA';

// Saludos
Responder Con Cita
  #4  
Antiguo 11-09-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 13
martini002 Va por buen camino
Exacto, tiene mucho sentido porque el ZConnection esta conectado a la BD Hola,
y dentro hay una tabla prueba, pero me sigue dando el mismo error, asi quedo

Código Delphi [-]
procedure TForm7.Button4Click(Sender: TObject);
begin
  ZQuery1.Close;
  ZQuery1.SQL.Text:='Attach Database "F:\Mundo.sqlite" as Mundo';
  ZQuery1.ExecSQL;
  ZQuery1.SQL.Text:='Insert Into Mundo.Prueba (Select * From Prueba)';
  ZQuery1.ExecSQL;
end;
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.
Responder Con Cita
  #5  
Antiguo 11-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Quita esos paréntesis alrededor del select.

// Saludos
Responder Con Cita
  #6  
Antiguo 11-09-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 13
martini002 Va por buen camino
Quedo perfecto, gracias infinitas amigo Roman,

asi quedo: para copiar de una base de datos a otra,

Código Delphi [-]
procedure TForm7.Button4Click(Sender: TObject);
begin
  ZQuery1.Close;
  ZQuery1.SQL.Text:='Attach Database "F:\Mundo.sqlite" as Mundo';
  ZQuery1.ExecSQL;
  ZQuery1.SQL.Text:='Insert Into Mundo.Prueba Select * From Prueba';
  ZQuery1.ExecSQL;
end;

pero eso es solo para hacerlo una vez,
ya que cuando le vuelves a dar, te da un error,
la base de datos Mundo ya esta en uso:

Cita:
'SQL Error: database Mundo is already in use'.
como se puede validar para saber si esta o no en uso?
entonces asi evitar el attach nuevamente?

Gracias
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.
Responder Con Cita
  #7  
Antiguo 11-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueeeno, pero es que no está accesible la ayuda desde tu IP?

Código Delphi [-]
ZQuery1.SQL.Text := 'pragma database_list';
ZQuery1.Open;

if not ZQuery1.Locate('name', 'Mundo', []) then
begin
  ZQuery1.SQL.Text := 'attach database "F:\Mundo.sqlite" as Mundo';
  ZQuery1.ExecSQL;
end;

// Saludos
Responder Con Cita
  #8  
Antiguo 06-12-2012
Avatar de martini002
martini002 martini002 is offline
Miembro
 
Registrado: may 2012
Ubicación: Puerto Ordaz - Venezuela
Posts: 175
Poder: 13
martini002 Va por buen camino
Saludos,

Hoy volvi a tener este mismo problema,
y lo resolvi asi:

Código Delphi [-]
  //Agregamos la BDT
  ZQuery3.Close;
  ZQuery3.SQL.Text:='Attach Database "'+GetCurrentDir()+'\BD\BDLGST.lum" as BDLGST';
  ZQuery3.ExecSQL;

  //Copiamos de la BDT a BDG
  ZQuery3.Close;
  ZQuery3.SQL.Text:='Insert Into RelacionUnidades Select * From BDLGST.RelacionUnidades';
  ZQuery3.ExecSQL;

Solo queria comentarlo quiza a alguien le sirva
__________________
El Conocimiento se puede compartir, pero la Experiencia es totalmente Intransferible.
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
Insertar datos entre bases de datos diferentes franjero Firebird e Interbase 1 19-06-2012 08:32:42
Pasaje de datos entre bases de datos Mauro Daniel Conexión con bases de datos 1 04-05-2008 15:28:24
Operaciones entre bases de datos subzero MS SQL Server 3 17-01-2008 21:55:57
Enlaces entre Bases de Datos!! Chik_Electronik C++ Builder 3 01-06-2006 05:00:37
conexión entre distintas bases de datos jsanchez Firebird e Interbase 1 09-03-2004 22:35:22


La franja horaria es GMT +2. Ahora son las 13:05:45.


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