我想通过 ODBC 将 DB2 数据库中的数据导入 MS Access。连接已建立并正常工作,但由于某些语言环境问题(德语 Windows)而转换了十进制值。
234.75 在 Access 表中最终为 23475。
我在使用 Oracle 时遇到了同样的问题,但能够通过将 ODBC 驱动器设置为美国语言环境来解决它。如何使用 DB2 ODBC 驱动程序做到这一点?
DB2 v9.5
您是否有可能通过 ODBC 连接读取您的某些字段属性?在这种情况下,我想您会发现其中一些属性将帮助您识别字段的类型、默认值、长度等。然后您应该可以在导入代码中加入一些数字转换指令。
您是否尝试将 Windows 区域设置更改为美国 ( start/Settings/Control Panel/Regional and language Settings/Regional Settings/customize
)?
即使您的 Windows 是德语,您也可以将诸如小数分隔符、日期等设置为其他标准(例如,对于所有 Windows 应用程序,您可以将 '.' 声明为小数分隔符而不是 ','。
当您设置与链接表管理器的 ODBC 连接并单击有关数据库名称、要使用的凭据的所有屏幕时,那里有一个复选框“在输出日期、时间等时使用区域设置……类似的东西……”检查了吗?
虽然这是一个旧帖子,但有些人可能会从这个问题的解决方案中受益(我也遇到过)。解决方案是:
设置添加具有以下规格的行:
这告诉 DB2 客户端使用 '.' 作为小数分隔符而不是语言环境。
测试于:DB2 V9.7,Access 2010