Импорт данных в базу данных SQL из текстового файла - PullRequest
2 голосов
/ 19 января 2012

Я пытаюсь импортировать некоторые данные из текстового файла в базу данных SQL в моем проекте Visual Studio. Все столбцы импортированы правильно, кроме столбца даты. Я использовал следующую команду для импорта данных:

BULK INSERT T2 FROM 'c:\Temp\Data.txt' WITH (FIELDTERMINATOR = ',')

В текстовом файле у меня есть даты, такие как 02-02-12, 03-02-12 и т. Д., Но в базе данных все строки установлены на 01.01.1900. Я думал, что это могло произойти, потому что форматы даты в текстовом файле отличаются от базы данных SQL, кто-нибудь знает, как я могу импортировать мои даты в базу данных?

Спасибо

1 Ответ

1 голос
/ 19 января 2012

Я столкнулся с той же проблемой, используя ваш пример в 2008r2.Нет ошибки, но все установлено на 1900-01-01.Похоже, это странность в bcp, когда используется для заполнения поля DATE.Это ведет себя так только для типа столбца DATE

Так что, если вы используете тип Date, измените его на Datetime или smalldatetime (оба работали для меня) и посмотрите, поможет ли это.Не забудьте установить формат даты, чтобы правильно читать дни, месяцы и годы.Если это день-месяц-год (в текстовом файле), то оно должно быть:

set dateformat dmy
BULK INSERT T2 FROM 'c:\Temp\Data.txt' WITH (FIELDTERMINATOR = ',')

Мне удалось найти один отчет по нему, но нет однозначного ответа, почему это происходит: зарегистрирован аналогичный случайздесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...