Я пытаюсь импортировать пользователей в таблицу с этим запросом SQL:вставить дату насыпью в SQL Server 2008
TRUNCATE TABLE TEST.dbo.SALARIES;
INSERT INTO TEST.dbo.SALARIES
(PSA_SALARIE,PSA_LIBELLE,PSA_PRENOM,PSA_DATESORTIE)
SELECT Matricule,Nom,Prenom,Date_sortie
FROM OPENROWSET(BULK 'E:\...\infoprofuniq.txt',
FORMATFILE='E:\...\infoprof.fmt',
FIRSTROW = 1,
CODEPAGE = 'ACP'
) as t1 ;
Вот файл FMT Я использую:
9.0
4
1 SQLCHAR 0 0 ";" 1 Matricule ""
2 SQLCHAR 0 0 ";" 2 Prenom ""
3 SQLCHAR 0 0 ";" 3 Nom ""
4 SQLDATETIME 0 0 "\r\n" 4 Date_sortie ""
Вот образец DATAS я пытаюсь импортировать:
000001;JOHN;DOE;'2001-01-01 00:00:00.000'
я получаю ошибку (через Google Translate, так как я использую французскую версию SQL-сервер):
Msg 4864, Level 16, State 1, Line 2
Error converting the bulk load data (type mismatch or invalid character for the specified codepage) for row 1, column 4 (Date_sortie).
Я попытался с помощью одинарной кавычки, двойные кавычки, ни один и другой формат даты, но я не могу понять, какой формат ждет SQL Server для.
PSA_DATESORTIE - тип "datetime", допускающий нулевые значения.
Неужели кто-то сталкивался с этой проблемой? Помощь с благодарностью! Marc
У меня не было возможности проверить его, поскольку я, наконец, смог вставить этот формат «2015-31-12 23: 59: 59.999». Спасибо, хотя для вашего ответа и да, я нашел много специальных/непечатных символов в наборе данных! – marc99