2016-01-09 4 views
1

мне не удалось загрузить данные текстового файла в таблицу моего децибел с постоянной ошибкойBCP импорта данных, некорректное время Ошибка формата

неверный формат времени.

Я изменил формат времени, чтобы включить T между датой и временем, но безрезультатно. Я также заменил год, месяц, разделитель дат. to - но ошибка сохраняется.

Это, как я пытаюсь загрузить из текстового файла

bcp mydb.dbo.mytable in c:\data.txt -T -S myserver\instance 

Я затем перейти, чтобы подтвердить типы данных полей, префикса длины (это длина разделителя перед полем .. справа?) и полевой терминатор. Я создаю файл формата, который при использовании все еще дает ту же ошибку. Поле datetime, которое я импортирую, является одним из четырех полей в типичной строке.

Что мне не хватает?

EDIT

Вот типичный ряд

14,1999-01-04T08:08:24.000,1.36000,1.36000 

Я также не при использовании SSIS моей предыдущей работы вокруг первого использования доступа не применяется здесь. Это либо bcp, либо SSIS

+0

Включите небольшой образец данных, пожалуйста. –

+0

Что вам не хватает? Не знаю ... Но я могу сказать вам, что мне не хватает: пример данных, некоторые строки ваших «типичных строк». И один намек: попробуйте свое утверждение с файлом, который содержит только первые несколько строк. это может быть, что одна единственная дата где-то там плохая, а не сама форма. И еще один намек: большинство проблем происходит с разными месяцами. 2016-04-01 будет работать, но может привести к неожиданным результатам, 2016-13-04 не будет работать ... – Shnugo

+0

Получил это, чтобы работать через SSIS ... Угадайте, что bcp - античный ;-) – ssn

ответ

0

Я считаю, вы используете SQL Server 2008 (R2)? Если да, добавьте соответствующий тег в свой вопрос.

Данная проблема была сообщена here по адресу dba.stackexchange. были даны

следующих рекомендаций:

  • Вы должны использовать сгенерированный файл формата и использовать -f как для импорта и экспорта.
  • Убедитесь, что ваш DateTimes отформатированы как yyyy-mm-dd hh:mm:ss, так и с пространством вместо T между датой и временем

Следует заметить, что я прочитал here утверждают, что это является ошибкой в ​​BCP, который поставляется с SQL Server 2008 (R2). Очевидно, это было решено в SQL Server 2012 +.

+0

Привет, использовал SQL 2014 ... Пришлось прибегнуть к первому импортированию txt-файла в доступ, а затем экспортировать файл accdb в SQL – ssn

Смежные вопросы