【问题标题】:VB6 call Oracle procedure errorVB6调用Oracle程序错误
【发布时间】:2010-01-22 06:35:38
【问题描述】:

我们有一个旧的 VB6 应用程序,它使用 ODBC 连接到 Oracle 10g DB。我们在 SOE 上升级到 11g 驱动程序,部分应用程序出现问题。与 9.2 驱动程序一起工作正常。

Oracle Client 10g/11g 不喜欢小写调用。这一点很明显,成功的调用是大写的,失败的调用是小写的。进一步的测试表明,如下代码行:

Set Qry = grdoEnterprise.CreateQuery("", " { CALL ep_admin_revoke_role( ?,?,?,? ) } ")

失败...但更改为时成功

Set Qry = grdoEnterprise.CreateQuery("", " { CALL EP_ADMIN_REVOKE_ROLE( ?,?,?,? ) } ")

在执行查询之前不会抛出错误本身。但是,在调试时,可以在 CreateQuery() 阶段检测到失败,因为生成的 rdoQuery 对象有 0 个参数(而它应该有多个参数——在本例中为 4 个)。

有人在使用 VB6 和 Oracle 10g/11g ODBC 驱动程序时遇到过这个问题吗?

【问题讨论】:

    标签: oracle vb6 odbc


    【解决方案1】:

    是的,Oracle 太挑剔了。您将存储过程名称更改为大写的解决方案是百分百正确的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多