将数据类型DBTYPE_DBDATE转换为日期时出错

时间:2013-02-26 23:47:45

标签: sql sql-server-2008 load

我正在尝试使用以下命令将数据从文件加载到SQL Server Express:

BULK INSERT Clients_test FROM 'c:\clints_aa.csv'
    WITH ( KEEPIDENTITY, FIELDTERMINATOR = ',', ROWTERMINATOR = '\n'
)

但是我收到了这个错误:

  

Msg 8114,Level 16,State 10,Line 2   
将数据类型DBTYPE_DBDATE转换为日期时出错。

示例数据:

1,F,L,E,1950-12-18,x,-,z,6,k,r,4,1,N,1,m,,3,5,o,3,0,0,0,0,1,,,1900-01-01,1900-01-01,-
2,O,L,F,1946-06-23,y,-,z,6,l,s,5,0,N,1,n,,1,7,p,1,0,1,1,0,4,,,1900-01-01,1900-01-01,-

包含日期的列是最后一列之前的第5和第2列。

1 个答案:

答案 0 :(得分:0)

当您尝试将日期时间值作为字符串插入时,需要在T-SQL中将它们转换为DATETIME:

CONVERT('2013-02-26 16:51:23.767', GETDATE(), 126)

这是使用普通的T-SQL,并没有考虑批量插入。如果要使用批量插入,则在使用Visual Studio Business Intelligence Development Studio时会有所帮助。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms173767.aspx