Bonjour et merci d'avance pour votre aide,

Avant tout, Je précise que je simplifie le problème pour une meilleur compréhension :

Alors, je me trouve dans une impasse. J'ai une base de données SQL Server 2008 dans laquelle se trouve une table :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
CREATE TABLE TableDate (
	ID int NOT NULL,
	DATE1 date NULL,
	DATE2 date NULL,
	DATE3 date NULL)
Pour entrer des données dans cette table, j'ai comme point d'entré un fichier CSV que je ne peux pas toucher. A titre d'exemple je vous pose la première ligne de ce fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
123;01/09/11 00:00:00,000000000;15/09/11 00:00:00,000000000;20/09/11 00:00:00,000000000
Pour insérer les lignes de ce fichier dans ma table j'utilise le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
BULK INSERT TableDate
FROM 'c:\Scripts SQL\export.csv'
WITH
(
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n',
FIRSTROW = 2,
DATAFILETYPE = 'char'
)
GO
Enfin l'erreur retournée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Msg 4864, Level 16, State 1, Line 2
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 2 (DATE1).
J'ai bien compris que le problème venait de la date. Le type date n'accepte pas la complexité de '15/09/11 00:00:00,000000000'. J'ai donc essayé les autres types :
- datetime : marche pas
- timestamp : marche pour DATE1 et le problème se décale à DATE2. Si je mets tout en timestamp, une erreur me dit que je n'ai droit qu'à un seul timestamp.

Je suis donc bloqué. Je pense que la solution serai de pouvoir, à la création de la base, préciser le format de la date qui va être passé lors de l'INSERT. un format de type jj/mm/aa hh:mm:ss,ms

Quelqu'un peut-il m'aider ?

Merci