0

我想通过 ODBC 将 DB2 数据库中的数据导入 MS Access。连接已建立并正常工作,但由于某些语言环境问题(德语 Windows)而转换了十进制值。

234.75 在 Access 表中最终为 23475。

我在使用 Oracle 时遇到了同样的问题,但能够通过将 ODBC 驱动器设置为美国语言环境来解决它。如何使用 DB2 ODBC 驱动程序做到这一点?

DB2 v9.5

4

3 回答 3

2

您是否有可能通过 ODBC 连接读取您的某些字段属性?在这种情况下,我想您会发现其中一些属性将帮助您识别字段的类型、默认值、长度等。然后您应该可以在导入代码中加入一些数字转换指令。

您是否尝试将 Windows 区域设置更改为美国 ( start/Settings/Control Panel/Regional and language Settings/Regional Settings/customize)?

即使您的 Windows 是德语,您也可以将诸如小数分隔符、日期等设置为其他标准(例如,对于所有 Windows 应用程序,您可以将 '.' 声明为小数分隔符而不是 ','。

于 2009-09-15T21:10:11.727 回答
2

当您设置与链接表管理器的 ODBC 连接并单击有关数据库名称、要使用的凭据的所有屏幕时,那里有一个复选框“在输出日期、时间等时使用区域设置……类似的东西……”检查了吗?

于 2009-09-17T16:01:32.353 回答
2

虽然这是一个旧帖子,但有些人可能会从这个问题的解决方案中受益(我也遇到过)。解决方案是:

  1. 启动 ODBC 管理器
  2. 打开 DSN
  3. 打开标签页高级
  4. 设置添加具有以下规格的行:

    • CLI 参数:补丁 2
    • 价值:15

这告诉 DB2 客户端使用 '.' 作为小数分隔符而不是语言环境。

测试于:DB2 V9.7,Access 2010

来源:http ://www-01.ibm.com/support/knowledgecenter/#!/SSEPGG_9.7.0/com.ibm.db2.luw.apdv.cli.doc/doc/r0008805.html

于 2015-05-08T07:36:02.183 回答