ejecutar varios insert a la ves
Hola amigos estoy usando Delphi 7, FireBird 2 y las FIBPlus. Estoy haciendo un programa para migrar de una base a otra, tabla por tabla y campo por campo por si no se llaman igual siempre que sean del mismo tipo (aun esta en pañales el sistema :p ).
en la parte básica que llevo genero varias lineas insert p/e:
este código lo asigno ya sea a un pFIBQuery, pFIBStoredproc o a un pFIBUpdateObject y en todos estos al intentar ejecutar las sentencias me marca error de sintaxis en la linea 2 columna 1 la sentencia INSERT, si copio todas estas sentencias a ibexpert y las ejecuto funciona de forma correcta. Alguien me pude decir como hacer que delphi ejecute todas las lineas seguidas y no tener que ejecutar linea por linea. Gracias p.d. encontré este tema en el foro pero esa estructura del insert no funciona en firebird |
Echa un visual al FTp del club, hay una herramienta para migrar de paradox a firebird, quizás te sirva.
PD: Necesitas usar un FIBScript (debe llamarse así) que si permitirá varias instrucciones. Saludos |
Yo hice alguna vez una aplicación similar pero de DBF a MySQL. Yo lo hice utilizando las caracteristicas de importacion de MySQL (Insert from local) pasandole un archivo de texto plano delimitado por comas y la velocidad que se adquiere es muy superior a hacer un insert por cada registro. No se si FB tenga algo similar, espero que si.. Con este enfoque pasaba 20 000 a 30000 registros en 1 minuto a lo mucho.
|
En estos casos siempre uso el DataPump, ya que hay casos en los que hay que respetar las llaves foreneas de la base de datos y estos programas ya tienen en cuenta ese tipo de cosas.
|
Si queres hacerlo por código, te comento que los componentes Query solamente envían una instrucción al servidor.
Lo que te tocaría es enviar al servidor sentencia por sentencia, suponiendo que todas las instrucciones generadas están en una sola línea, es sencillo:
Hasta luego. ;) |
La franja horaria es GMT +2. Ahora son las 01:42:47. |
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