【问题标题】:OpenEdge ODBC for Access用于访问的 OpenEdge ODBC
【发布时间】:2010-10-11 06:31:37
【问题描述】:

我无法更新访问新 ODBC 驱动程序的链接。 我相信 OpenEDge 10.1C 没有与 Access 握手。 dns 会将外部数据导入 excel。错误是“错误(-7748)没有此错误的消息”

【问题讨论】:

    标签: ms-access openedge progress-db


    【解决方案1】:

    涉及 SQL 和 Progress 的大多数“奇怪”错误是 Progress 将 所有 数据存储为可变长度这一事实的结果。此外,大多数 Progress 数据库中的大部分数据都是由 4GL 程序创建、更新和操作的,而这些程序对 SQL 关于列宽的想法既不了解也不敏感。

    当您尝试使用 SQL 查询 Progress 数据库时遇到奇怪错误时,您的第一道防线应该是运行 dbtool(在 db 服务器上)以修复任何可能的 SQL 宽度问题。只需运行 dbtool(在 Progress "bin" 目录中找到,如果操作系统是 UNIX,则使用 $DLC/bin/dbtool,如果您正在运行 Windows,则使用 "proenv" 获取命令提示符,然后使用 %DLC%\bin\dbtool)和选择选项 2。如果您经常遇到问题,您可能需要编写脚本并自动运行它。

    【讨论】:

    • 这里我不太明白可变长度存储的相关性,因为Access的默认数据库引擎Jet/ACE一直使用可变长度存储。这是一个数据库引擎细节,你的接口层应该完全从你那里抽象出来,并且不应该与 ODBC 驱动程序有任何关系。
    • 即使 Access 使用可变宽度字段,如果它假设它可以信任从 Progress 模式获得的宽度信息,那么它也会感到失望。我只是说,人们在使用 ODBC 和 Progress 数据库时遇到的很多奇怪问题是通过运行 dbtool 和修复 SQL 宽度来解决的。值得一试。
    【解决方案2】:

    Progress ODBC 错误 -7748 可以通过添加注册表项来解决。 This discussion 解释了解决方法及其作用。

    本质上是注册表项:

    HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\[Your data source name]
    

    应该是一个名为“Workarounds2”的字符串值条目,它的值应该设置为8192。

    见: http://media.datadirect.com/download/docs/odbc/allodbc/index.html#page/odbc/workaround-options.html

    【讨论】:

      猜你喜欢
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 2018-02-14
      • 1970-01-01
      • 2015-03-05
      • 2018-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多