FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Conectar 2 BD con FireBird
Buenas amigos del Foro.
Tengo un problemilla que no se como realizar. Os Comento. Tengo 2 BD en directorios distintos y quiero pasar de una BD a otra toda la información de un tabla. Directorio1\BD1.gdb Directorio2\BD2.gdb La conexión a la BD1 es correcta pero la BD2 no me conecta. dmBD2.BD2.DatabaseName := 'C:\Directorio2\BD2.gdb'; dmBD2.BD2.Connected := True; dmBD2.TransBD2.Active := True; //Copiamos las Tablas Maestras DATASETLOCAL := tIBDataSet(dmBD1.EMPRESAS); DATASETLOCAL.Active := TRUE; //Copiamos las Tablas Destino DATASETLOCAL_Destino := tIBDataSet(dmBD2.EMPRESAS); DATASETLOCAL_Destino.Active := True;with dmBD1.AuxQuery do begin Active := FALSE; SQL.Text := 'SELECT * FROM Articulos'; Active := TRUE; First; while not Eof do begin DATASETLOCAL_Destino.Insert; for i := 0 to FieldCount - 1 do begin DATASETLOCAL_Destino.Fields[i] := Fields[i]; end; DATASETLOCAL_Destino.Post; Next; end; end; El error que me da es que esta grabando los datos en la BD1 en vez de la Segunda(BD2). ¿Esta bien hecha la conexión? ¿Porque me esta grabando en la BD1 en vez de la BD2? Un saludo a Tod@s. |
#2
|
||||
|
||||
Dos cosas:
- Pon el código entre etiquetas delphi ( [ DELPHI ] ... [ / DELPHI ] ). Así se verá mejor. - Danos el texto exacto del error. No creo que lo hayas interpretado bien. No creo que Delphi se de cuenta de qué dato va en qué base...
También se me ocurre que no estés conectando correctamente a la base de datos destino. Normalmente se pone igual que si fuera una conexión de red:
Además puedes hacer un trace (ir avanzando con F8) y decirnos en qué línea aparece ese error (y su texto). Tampoco veo el Commit de la transacción.
Última edición por duilioisola fecha: 24-02-2009 a las 14:53:15. |
#3
|
|||
|
|||
Aqui es donde me da el Error
DATASETLOCAL_Destino.Post; Error : Violation of primary or unique key constraint "PK_Articulos" on table "ARTICULOS" |
#4
|
||||
|
||||
Pues no tiene nada que ver con el error que comentabas...
Esto solo quiere decir que ya existe en la tabla destino el "artículo" que quieres insertar. Las Primary Keys o los Unike Index, no permiten que existan duplicados en los datos. Antes de insertar, deberás hacer un select de la tabla destino para ver si ya existen. Si existen, haces un update de los campos que corresponda. Sino, lo insertas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
conectar Firebird y DBE | miguel_e | Firebird e Interbase | 4 | 16-06-2008 19:38:39 |
Error al conectar Firebird+MDO | brakaman | Conexión con bases de datos | 2 | 08-04-2007 23:49:10 |
Conectar IBdatabase con firebird | cesar_picazo | Conexión con bases de datos | 4 | 28-03-2007 02:03:48 |
conectar firebird con asp | berfer | Firebird e Interbase | 4 | 06-09-2006 20:14:41 |
Conectar firebird con .net? | jam888 | Firebird e Interbase | 1 | 02-06-2006 22:49:40 |
|