我正在尝试将数据从 .dbf 文件移动到 SQL Server 2008 中的表中,并且在多个数字列上出现以下错误:
链接服务器“(null)”的 OLE DB 提供程序“MSDASQL”返回消息“多步 OLE DB 操作生成错误。检查每个 OLE DB 状态值(如果可用)。没有完成任何工作。”。消息 7341,级别 16,状态 2,第 1 行无法从链接服务器“(null)”的 OLE DB 提供程序“MSDASQL”获取列“[MSDASQL].apryr”的当前行值。转换失败,因为数据值溢出了提供程序使用的数据类型。
它只发生在数字列上,而不是在每个数字列上。字符数据很好,没有可能出现任何问题的日期/时间数据。
这是我正在使用的代码示例:
插入 [table] select * from OPENROWSET('MSDASQL', 'DRIVER=Microsoft Visual FoxPro Driver; SourceDB=[filepath]; SourceType=DBF', 'select * from [file].dbf)
由于 dbf 文件中的数据是客户数据,我被告知我不能手动修复文件中的垃圾数据(假设有),一切都必须通过 SQL 代码完成。我在互联网上搜索并没有真正找到解决这个问题的方法。我会很感激任何帮助。
谢谢你。