我花了这么多时间尝试使用SSMS(2012)将CSV,Excel数据导入SQL Server 2003。我已经尝试作为Excel,CSV和文本文件导入,所有选项都出现了自己的问题。
现在最大的挫折是在Flatfile选项下导入CSV。在高级选项卡中,我将源日期列设置为[DT_DBTIMESTAMP],这与我的目标的日期列的类型[DT_DBTIMESTAMP] YET匹配,尽管如此,当我运行导入SQL Server错误并说
时•错误0xc02020a1:数据流任务1:数据转换失败。列的数据转换返回状态值2和状态文本“由于潜在的数据丢失,无法转换该值。”。 (SQL Server导入和导出向导)。
如果BOTH列的类型完全相同,怎么会失败?
提前感谢您的帮助。
答案 0 :(得分:0)
可能不是SQLServer抱怨导入时丢失数据但是在阅读时。例如,DT_DBTIMESTAMP类型需要格式为yyyy-mm-dd hh:mm:ss [.fff]。如果您的数据格式不正确(可能是mm> 12或dd> 31)可能是问题。就像@Pondlife建议我将所有内容都放入varchar(max)字段然后运行TSQL以查看是否所有行都可以转换为DBTIMESTAMP数据类型是一个简单的转换语句。
答案 1 :(得分:0)
我看到了SQL服务器导入向导的许多问题(我在2008 R2版本上),从CSV文件读取日期字段,格式为拉丁文 - 日期在月份之前,喜欢25/12/2013 (圣诞节)。看起来它总是假设MM / DD / YYYY,并且没有明确的方式告诉读作DD / MM / YYYY(或者我没有找到)。如果我解决,将发布。 TKS。