从txt文件将数据导入SQL数据库

时间:2012-01-18 21:28:37

标签: sql database visual-studio-2010

我正在尝试将一些文本文件中的数据导入到我的Visual Studio项目中的SQL数据库中。除日期列之外,所有列都已正确导入。我使用以下命令导入数据:

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

在文本文件中我有02-02-12,03-02-12等日期,但在数据库中,所有行都设置为01/01/1900。我认为这可能已经发生了,因为文本文件中的日期格式与SQL数据库相比有所不同,是否有人知道我如何将日期导入数据库?

由于

1 个答案:

答案 0 :(得分:1)

我在2008r2中使用您的示例遇到了同样的问题。 没有错误,但都设置为1900-01-01。 当用于填充DATE字段时,看起来在bcp中是一个怪癖。 它的行为方式仅适用于DATE列类型

因此,如果您使用日期类型,请将其更改为Datetime或smalldatetime(两者都适用于我)并查看是否有帮助。 请记住设置dateformat,以便正确阅读日期,月份和年份。 如果是日 - 月 - 年(在文本文件中),它应该是:

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

我能够找到一个关于它的报告,但没有明确的答案为什么会发生这种情况: similar case reported here