|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : septembre 2009 Messages : 14 ![]() |
Bonjour à tous,
Je viens vers vous pour une demande d'aide. Je suis actuellement entrain de développer une petite application, j'utilise une base de donnée MS SQL Server 2008 Express. Dans mon application, j'ai une fenêtre qui "gère" la mise à jour d'une de mes tables. Tout les jours, je récupère un fichier csv (de quelques méga). Je le découpe et le traite ainsi : Code :
J'aurais voulu savoir s'il y avait une manière plus rapide (une commande SQL,...). Pour ma part j'ai pensé à faire (toujours en restant dans mon idée), ouvrir plusieurs Thread pour traité le fichier. Merci pour vos réponses, idées, sujétions. |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 720 ![]() |
Bonsoir,
Voyez du côté de l'utilitaire en ligne de commande bcp ou la procédure stockée BULK INSERT ++ |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : septembre 2009 Messages : 14 ![]() |
Je pense utilisé le BULK INSERT dans une une procédure stocké.
Par contre, dans mon fichier CSV, il y a des lignes que je ne souhaite pas intégrer, je dois rajouter un Est-ce que cela fonctionne ? Je veux dire, si je met un WHERE, le test se fait sur chaque ligne ? Ensuite autre question, si je dois faire un Update (non un Insert), le BULK fait la différence, ou alors je dois faire un IF EXIST sur la clé ? |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 658 ![]() |
Bonjour,
L'instruction BULK INSERT n'admet pas de filtres, donc vous ne pouvez pas y accoler un WHERE. Vous devriez plutôt réaliser votre import dans une table réservée à cet effet, puis utiliser l'instruction MERGE pour mettre à jour les lignes que vous identifiez comme déjà existante, ou pour ajouter les lignes que vous identifiez comme manquantes @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
Copyright © 2000-2012 - www.developpez.com