|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre chevronné
![]() Ingénieur développement logiciels Inscription : juillet 2004 Messages : 817 ![]() |
Bonjour,
J'ai un petit souci avec FireBird (j'utilise la version embarquée) J'ai besoin d'inserer dans une base beaucoup d'enregistrements (environ 30.000). Je le fait sur MySQL avec des commandes "LOAD INFILE" pour charger directement un csv ou avec un script sql qui contient des requetes pour inserer plusieurs lignes à la fois, du genre : Code :
Par contre, sur FireBird, je n'ai pas trouvé d'autre solution que d'inserer les lignes une à une, avec des requetes : Code :
INSERT INTO rec (REC_IDF, ENT_IDF) VALUES (3501,10100); Existe-t-il un moyen de charger un fichier CSV directment, ou d'inserer plusieurs lignes à la fois ? La pluspart des tables sont liées par des clés etrangeres, est-il possible de les descativer (temporairement) pour accelerer l'insertion ? (comme en MySQL, on peut faire SET FOREIGN_KEY_CHECK = 0 Merci ! |
||
|
|
00
|
|
|
#2 |
![]() ![]() Claude RenouleaudDéveloppeur informatique Inscription : février 2006 Messages : 4 760 ![]() |
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira. |
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Ingénieur développement logiciels Inscription : juillet 2004 Messages : 817 ![]() |
Merci pour le tuto !
Effectivement, tout y est bien traité, et confirme mes craintes... - Il faut se taper à la main la destruction puis re-creation des clés étrangères - Creer un fichier texte contenant les données pretes à être importées peut être assez lourd.... Conclusion : Firebird est vachement bien, mais craint lorsqu'il s'agit d'inserer des données en masse... Vu que j'insere plusieurs milliers d'enregistrements dans environ 200 tables et qui ont chacune leurs clés, contraintes etc... Je crois que je vais continuer à faire des imports ligne par ligne, comme un bourrin, et lancer ça le soir en partant du boulot... |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
mais non, regarde de plus près, les tables externes sont très rapide
et si ta base est bien faite, tu n'as pas besoin de supprimer, recréer les clés étrangères
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#5 | |
|
Membre chevronné
![]() Ingénieur développement logiciels Inscription : juillet 2004 Messages : 817 ![]() |
Oui oui, les tables externes sont très rapides...
Mais : Citation:
Alors le faire pour 200 tables.... Encore plus long... Puis importer tout ça.... Mouais, je prefere quand meme continuer à bourriner. Mais je retiens l'astuce des tables externes, ça pourra être très pratique dans d'autres cas. |
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
il existent des outils aussi pour le csv
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : avril 2005 Messages : 25 ![]() |
la problématique de chargement massive de données revient reguliérement avec FB qui ne comporte pas d'outil natif intégré.
cf les echanges précedents pour le chargement de fichiers csv: http://www.developpez.net/forums/sho...d.php?t=396997 j'ajouterai que dans certains cas IBpump peut aussi être la solution. Pour info, l'équipe FB prépare la mise en oeuvre d'une fonctionnalité "Bulk load" pour la prochaine version de FB (2.5) Slts PAscal |
|
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() Inscription : janvier 2007 Messages : 80 ![]() |
Bonjour
programmes tu un peu en delphi si oui j' ai quelques sources que tu pourrais adapter. j' ai transferer beaucoup de donner comme cela Fred |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com