【发布时间】: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 驱动程序时遇到过这个问题吗?
【问题讨论】: