VB6调用Oracle程序错误

时间:2010-01-22 06:35:38

标签: oracle vb6 odbc

我们有一个使用ODBC连接到Oracle 10g数据库的延迟VB6应用程序。我们正在升级到我们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个参数(而它应该有0以上 - 在本例中为4)。

有没有人遇到过VB6和Oracle 10g / 11g ODBC驱动程序的这个问题?

1 个答案:

答案 0 :(得分:0)

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