我正在尝试获取有关使用C ++ Oracle OCCI在包中定义的存储过程的参数的元数据。获取独立proc的参数元数据非常简单:
MetaData meta = connection->getMetaData("MY_PROC");
vector<MetaData> params = meta.getVector(MetaData::ATTR_LIST_ARGUMENTS);
但是,如果我尝试使用以下代码从包内的过程查询参数元数据,则会出错。
MetaData meta = connection->getMetaData("PKG_MY_PACKAGE.MY_PROC2");
错误消息:
ORA-04043: object PKG_MY_PACKAGE.MY_PROC2 does not exist
知道为什么这不起作用或者我是否需要以不同的方式查询在包中定义的存储过程参数?
答案 0 :(得分:0)
您可以查询all_arguments
(或user_arguments
或dba_arguments
)视图,以检索已打包函数和过程的参数。
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_1014.htm#i1573843