说到表类型数组,我也有一个问题想问。假设:在包中定义t_Students表变量,想做为存储过程的返回值TYPE r_Students IS RECORD( id int, name varchar2(20) ) TYPE t_Students IS TABLE OF r_Students INDEX BY BINARY_INTEGER;PL/SQL是编译成功,运行通过了。 可是在ASP调用时,却报告Microsoft OLE DB Provider for Oracle 错误 '80004005' 提供程序不支持带有 RECORD 或 TABLE 变量的 PL/SQL 存储过程/函数。 如果将以上定义分别定义为两个表变量,作为两个输出参数,则不会出错,请问这是为什么???
原文是:远端子程序不能返回游标变量的值,游标变量可以在客户端和服务器端PL/SQL之间传递,但是不能在两个服务器之间传递。我想远端可能是指不同的ORACLE服务器吧。第二个问题,是我邦朋友问的,他是用JSP的,JSP--WEBLOGIC--ORACLE
据他所说如果JSP直接访问ORACLE是可以啦,但是再经过WEBLOGIC一层就无法返回游标变量了。不知道是为什么。
id int,
name varchar2(20)
)
TYPE t_Students IS TABLE OF r_Students INDEX BY BINARY_INTEGER;PL/SQL是编译成功,运行通过了。
可是在ASP调用时,却报告Microsoft OLE DB Provider for Oracle 错误 '80004005' 提供程序不支持带有 RECORD 或 TABLE 变量的 PL/SQL 存储过程/函数。 如果将以上定义分别定义为两个表变量,作为两个输出参数,则不会出错,请问这是为什么???
不过,也许有办法,还得研究。