Bulk insert avec 2 types de lignes dans un même fichier
cs_remit
Messages postés2Date d'inscriptionmardi 27 août 2002StatutMembreDernière intervention16 février 2010
-
11 févr. 2010 à 15:41
cs_remit
Messages postés2Date d'inscriptionmardi 27 août 2002StatutMembreDernière intervention16 février 2010
-
16 févr. 2010 à 11:41
Bonjour,
je souhaite charger un fichier dans une table SQLServer 2005 à l'aide de l'instruction "BULK INSERT".
J'ai une première ligne à charger dans une table (entêtes) et les autres dans une autre table (lignes).
Le problème c'est que 2 types de lignes ont des formats différents (pas le même nombre de colonne).
Du coup, quand je charge les lignes, il ne charge jamais la première ligne car il considère que l'entête + la première ligne ne font qu'une seule ligne.
Quelqu'un connait une méthode pour contourner ce problème ?
hymnuade
Messages postés39Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention15 février 2010 15 févr. 2010 à 16:04
Bonjour,
Es-tu sur que la première ligne d'en-tête se finit bien par le pipe | attendu par le row terminator ?
Pour exemple, si j'exécute
BULK INSERT Test FROM 'c:\clients.txt'
WITH (
FIELDTERMINATOR = '|',
ROWTERMINATOR = '|\n',
CODEPAGE = 'ACP',
DATAFILETYPE = 'CHAR',
FIRSTROW = 2)
sur un fichier de contenu
ID|ID2|ID3
1|1|
2|2|
seule la ligne 2 est prise en compte,
mais si
ID|ID2|ID3|
1|1|
2|2|
alors les lignes 1 et 2 sont bien importées
Peut importe le nombre de colonne pour le BULK INSERT si la ligne différente n'est pas prise en compte dans la mesure ou la fin de la ligne à éviter est clairement identifiable.