从datetime列导入的SQL Server 2008 R2导入失败

时间:2015-11-05 13:03:57

标签: sql-server sql-server-2008 datetime sql-server-2008-r2 ms-access-2010

我尝试将Access 2010数据库表(*.accdb)导入SQL Server 2008 R2, 作为一个新表而不是现有表。

我是通过SQL Server"导入导出数据向导"。

我知道有两个datetime列,其中包含一些非有效datetime值的事实(不要问我某些天才如何设置输入错误值)。

所以我认为我可以将这些列映射到向导中的nvarchar(max)列,并在以后处理问题。

但遗憾的是,在映射之后,我收到了这条消息:

  

找到2个未知的列类型转换   包裹将不会运行。

这是截图:

import_error.png

2 个答案:

答案 0 :(得分:1)

好的,所以我发现了一个非常奇怪的解决方法(向导中的错误?): 当您选择目标列类型为“nvarchar”时,大小会自动设置为“max”,而不能更改它。

切换到“nchar”(接下来在组合框列表中),大小设置为“50”(聋)。 然后切换回“nvarchar”并且大小仍然是“50”,按下“下一步”按钮并且瞧 - 我可以选择忽略错误的值并且能够运行导入。 最奇怪的解决方法。

答案 1 :(得分:0)

除了另一个答案中描述的解决方法之外,另一种方法是导入执行DateTime的查询 - >文字转换,例如

SELECT CStr(Field1) AS Field1Text, Field2 FROM Table1
像这样:

Import1.png

Import2.png