Bonjour,
J'ai 2 bases Firebird: une courante, et une d'archives.
Je souhaite transférer les enregistrements d'un SELECT sur une table d'une base vers l'autre.
Y-a-t-il un moyen de faire ça en SQL?
Merci d'avance,
Bonjour,
J'ai 2 bases Firebird: une courante, et une d'archives.
Je souhaite transférer les enregistrements d'un SELECT sur une table d'une base vers l'autre.
Y-a-t-il un moyen de faire ça en SQL?
Merci d'avance,
Xavier
Salut
Quelle version de Firebird ?
Car la v2.5 permet d'exécuter des requêtes multi-bases.
cf: Can I do multi-database or cross-database queries with Firebird?
@+ Claudius
Je ne sais pas, je n'ai pas de vue sur la version, et mon collègue admin n'est pas là...
Xavier
Un appel à n'importe quel utilitaire fourni avec Firebird avec l'option -z retourne la version de Firebird installée.
exemple: gfix -z
Bonjour,Regardez cette discussion. Bien qu'elle soit dans le forum Delphi, la solution que j'ai proposée s'appuie sur du PSQL :
transfert de données entre deux bases de donnees firebird avec delphi 7
Philippe.
Bonjour,
JE développe en VB. Je pense que je ne vais pas pouvoir faire ça avec la solution précédente.
Xavier
La version de Firebird nous aiderais grandement néanmoins il est toujours possible de le faire uniquement par SQL (VBA ou non) .
Comment ?
Se connecter sur la première base , et générer un script SQL
puis se connecter sur la 2°base et appliquer le Script
il m'arrive fréquement d'utiliser Flamerobin qui créer facilement ce genre de script via un "Copy as INSERT statement"Soit un table TABLE1 dans la base BDDA ,contenant les champs A INTEGER,B FLOAT,C CHAR,D VARCHAR , on veut copier ses données dans la ATABLE1 de la base BDDB
on fait un SELECT dessus
SELECT 'INSERT INTO ATABLE1(A,B,C,D) VALUES( "'||A||'","'||B||'","'||C||'","'||D||'");' FROM TABLE1
les résultats seront envoyés dans un fichier (.txt,.sql ....)
il suffira ensuite d'exécuter ce script
pour améliorer l'ensemble , en cas de gros transfert, ne pas oublier de faire un COMMIT régulier !
dans ce cas il vaudrait mieux créer une procédure dans la base BDDA pour générer le script pour y mettre un COMMIT; régulier
Note : ceci fonctionnera mal avec les mémos qu'il faudra CASTer en VARCHAR donc limité en taille
Autres possibilités souvent oubliées des outils tels QLI (quoique apparemment dépérécié pour Firebird>2) , FBExport
etc ....
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager