Access 2010 链接表——解决“十进制字段的精度”错误

Mar*_*rko 5 oracle ms-access odbc

我有一个 Access 2003 数据库(在 Win 7 64 位上运行,Office 也是 64 位),其中有许多链接表通过64 位 Oracle ODBC 驱动程序指向 Oracle 11g 实例。大多数表格都可以正常工作,但其中一些表格一直向我抛出这个错误:“小数字段的精度太小,无法接受您尝试添加的数字”

到目前为止,我有:

  • 在网上广泛浏览了一个解决方案,但没有一个适用于我的情况(我的 ODBC 驱动程序没有“强制双重”参数,我发现的其他建议根本不相关)
  • 检查 Access 是否为数字字段设置了正确的精度和小数位数(例如,oracle 中的 NUMBER(20,10) 映射到数字数据类型、精度为 20 的十进制字段大小和 Access 中的小数位数)。对于产生错误的字段来说也是如此。
  • 得出的结论是,如果记录至少有 1 个有问题的字段,则该记录中的所有其他字段也会在数据表视图中显示“#Error”。如果我将有问题的字段设置为空,记录将正常显示。
  • 认为在我的情况下,问题与 WGS 坐标类型为 NUMBER(20,10) 或 NUMBER(8,6) 的字段有关(可能还有其他高比例数字字段,不确定)
  • 发现如果我将 Oracle 中的一个有问题的字段舍入到该字段的原始比例,Access 就会停止抱怨。例如:在 Oracle 视图中,NUMBER(20,10) field_name 变为 round(field_name, 10),这让 Access 感到高兴。

我不能在表上使用舍入解决方法,而且我没有太多的自由来改变 Oracle 数据库,因为它是一个非常大而复杂的系统的一部分。

我是 MS Access 方面的新手,对其他尝试没有想法(除了烧掉我的电脑并成为一名 Jogi 以遏制我的绝望)。

请,请帮助,善良的数据库社区!

小智 3

我遇到了类似的问题,解决方法是刷新链接表。Access 不知道我的 Oracle 表中的精度已发生变化,并不断向我显示“精度太小”错误。