PLS-00993 Cursor Variables cannot be passed as RPC arguments or resultsCause: An attempt was made to pass a cursor variable to or from a remote subprogram, which is not allowed. For example, a remote procedure cannot be used to open a cursor variable because remote subprograms cannot return the values of cursor variables.Action: Change the subprogram call to reference a local database.参考本地数据库.

解决方案 »

  1.   

    这个错误提示我知道,文档所说的解决办法是说改变存储过程的参数调用,改成使用指向本地数据库的游标变量,但是我的目的就是想通过数据库链接的方式来实现获取远程数据库返回的记录集,按照这个错误提示,Oracle根本就不支持这样的调用,所以想请教各位,是否在数据库这一层就是不能这样实现,一定要通过程序来实现呢?如果通过程序实现,由于我之前对Oracle的连接都是通过ADO方式的,但ADO方式好像无法获取存储过程中返回的两个以上的记录集
      

  2.   

    有个建议:可以用动态sql来实现.试试看吧.
      

  3.   

    在B数据库中已经建立了同样的类型带其他参数的过程是可以远程调用的,就是游标变量会提示不能在RPC中调用所以想请教,是否在数据库层就是无法实现这样的调用?如果在应用层实现,请问用ADO如果实现调用一个返回多个记录集的存储过程