我创建一个类:
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED getipbyhost AS
import java.net.InetAddress;
import java.net.UnknownHostException;
public class myipbyhost {
public static void main(String a[]){
try {
InetAddress host = InetAddress.getByName("myhost.domain");
System.out.println(host.getHostAddress());
} catch (UnknownHostException ex) {
ex.printStackTrace();
}
}
};
/
以及一个要调用的函数:
CREATE OR REPLACE FUNCTION gethost RETURN VARCHAR2 AS
LANGUAGE JAVA
NAME 'getipbyhost.myipbyhost() return java.lang.string';
/
我试图得到结果,但它给出了一个错误:
select gethost() from dual
/
[错误] 执行 (1:23): ORA-29540: 类 getipbyhost 不存在
有什么问题?
getipbyhost这不是一个类,而是JAVA SOURCE存储在数据库中的源代码 ( ) 的名称。此外,如果函数什么都不返回,它应该返回什么。
gethostmain试试这样:
得到结果: