【发布时间】:2017-07-26 17:21:24
【问题描述】:
我必须在 Oracle SQL Developer 中使用一些 java 函数。但是我在使用 java String 参数时遇到了一些麻烦。我知道我的代码对这个字符串没有任何作用。会的。
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "StringTest" AS
public class StringTest
{
public static int test(String a)
{
return 1;
}
}
/
返回:
Java 源字符串测试已创建
然后:
CREATE OR REPLACE FUNCTION F_STRING(input1 in char) return number
as LANGUAGE JAVA NAME 'StringTest.test(String) return int';
函数 F_STRING 编译
现在当我尝试执行我的功能时:
SELECT F_STRING("some_text") FROM MyTable;
ORA-00904:“some_text”:标识符无效
- 00000 - “%s:无效标识符”
当我尝试使用单引号而不是 " 我得到这个:
ORA-29531:StringTest 类中没有方法测试 29531. 00000 - “类 %s 中没有方法 %s” *原因:试图执行一个不存在的方法 Java 类。 *Action:调整调用或创建指定方法。
当我使用 varchar2 而不是 char 时,也会发生同样的事情。 我确定我错过了一些非常简单的东西,但在几个小时内找不到解决方案,这已经让我发疯了。
【问题讨论】:
标签: java sql oracle oracle-sqldeveloper