weblogic或其他配置是否会影响oracle table功能的使用?

Can weblogic or other config affect the use of oracle table function?

我在使用oracle table函数的时候遇到了一个奇怪的问题

两种环境:本地和远程,代码相同,只是一些配置不同,它们共享同一个数据库。 oracle table 函数可以在我的本地环境中完美运行,但即使我只是尝试使用一个非常简单的 table 函数,远程也会出现错误。

create type V as table of varchar2(4000);
/

CREATE FUNCTION test2 RETURN v IS
BEGIN
  RETURN v('a', 'b');
END test2;
/

我在plsql中使用下面进行测试,这里出现invalid identifier错误

select * from table(Test2());

ORA-00904: : invalid identifier

同样奇怪的是,标识符名称应该是错误消息的一部分,但它不存在。仅查询就可以在 plsql developer 中很好地工作。而Test2函数如果不在table函数中使用,在本地和远程都可以正常工作。

本地和远程的代码是一样的。只有 weblogic 配置、jdbc 驱动程序版本等可能不同。除了两者共享的数据库外,我无法访问远程环境。我试图在线搜索问题,但没有找到答案。所以我希望在座的一些成员能够阐明这个问题。非常感谢任何帮助。

db和weblogic版本:

Oracle 数据库 11g 企业版发布 11.2.0.2.0 - 64 位生产

应用程序服务器 - Weblogic 10.3.3.0

ps: 我在community.oracle.com上看到有人发了一个类似的问题,但是还没解决。 https://community.oracle.com/thread/2503982

嗯,我错了。原来是权限问题

在 运行 sql 之后,问题解决了。

授予在 "DB_USERNAME"."TEST" 上执行到 "DB_USERNAME_USER";