我有一个SSIS包(VS2019)将数据从Access数据源(ODBC)迁移到MSSQL (2012,ADO.NET)目的地。有许多表,其中包含多个浮点数字段,所有这些字段都不发出任何问题;但是,在一个特定的浮点数字段上,会发生以下错误:
错误: 0x384在ImpellerData,occurred 64:( ODBC )错误发生。状态:“01S07”。本机错误代码: 13.第20列上的MicrosoftFractional截断(D2aRefdiameter)
MSAccess类型=数字字段大小=双
MSSQL Type = float,null
我已经对MSAccess中的数据做了一次回顾,没有注意到任何不寻常的事情。
最大的价值是: 614
最小值是: 0.00328。
我尝试过搜索截断错误,但是,大多数结果都与文本字段有关。我意识到,这个错误可能只是说,由于转换后的值可能与源值略有不同,这很好,但是,我看不到对此数据类型忽略截断错误的方法。
任何关于如何绕过这个问题的建议或要研究的事情都会非常感谢。
我已经张贴了我认为适用的部分在上面,但是,如果需要更多的信息,就让我知道。谢谢。
发布于 2020-06-05 15:52:19
通过评论,Beeker转而使用JET驱动程序而不是ODBC驱动程序,这解决了这个问题。
促进回答意见
您使用的是ODBC数据源(基于错误消息)--您选择该数据源(以及附带的驱动程序)有什么原因吗?如果切换到OLEDB/JET/ACE驱动程序,它的行为是否相同? 2)如果将源从表修改为查询,并显式地将D2aRefdiameter强制转换为字符串类型,这是否解决了问题? 3)您可以通过.双击它并寻找一个错误选项卡。如果没有,则右击高级编辑器。然后,您可以检查坏数据
。
https://stackoverflow.com/questions/62202735
复制相似问题