自己对oracle不太了解
触发器|||||||
create or replace trigger Test
after insert on tab_caplog
for each row
declare
ID number;
begin
select sendmsg(:new.id) into ID from dual;
end Test;java|||||||create or replace and compile java source named testclient as
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;public class TestClient { public static int sendMes(int msg) {
int rmsg = 0;
try {
Socket client = new Socket("127.0.0.1", 9999);
BufferedReader br = new BufferedReader(new InputStreamReader(client
.getInputStream()));
PrintWriter out = new PrintWriter(new OutputStreamWriter(client
.getOutputStream(), "GBK"), true);
out.println(msg);
out.flush();
rmsg = Integer.parseInt(br.readLine());
System.out.println(rmsg);
client.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return rmsg;
}
}函数|||||create or replace function sendMsg(name number) return number as
language java name 'TestClient.sendMes(java.lang.Integer)return java.lang.Integer';报错|||||
ORA-29531: 没有方法sendMes在类TestClient中
ORA-06512: 在"ZHAOHUAN.TEST", line 4
ORA-04088: 触发器 'ZHAOHUAN.TEST' 执行过程中出错
帮忙给看一下吧。
触发器|||||||
create or replace trigger Test
after insert on tab_caplog
for each row
declare
ID number;
begin
select sendmsg(:new.id) into ID from dual;
end Test;java|||||||create or replace and compile java source named testclient as
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;public class TestClient { public static int sendMes(int msg) {
int rmsg = 0;
try {
Socket client = new Socket("127.0.0.1", 9999);
BufferedReader br = new BufferedReader(new InputStreamReader(client
.getInputStream()));
PrintWriter out = new PrintWriter(new OutputStreamWriter(client
.getOutputStream(), "GBK"), true);
out.println(msg);
out.flush();
rmsg = Integer.parseInt(br.readLine());
System.out.println(rmsg);
client.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return rmsg;
}
}函数|||||create or replace function sendMsg(name number) return number as
language java name 'TestClient.sendMes(java.lang.Integer)return java.lang.Integer';报错|||||
ORA-29531: 没有方法sendMes在类TestClient中
ORA-06512: 在"ZHAOHUAN.TEST", line 4
ORA-04088: 触发器 'ZHAOHUAN.TEST' 执行过程中出错
帮忙给看一下吧。
有没有你的类权限付了吗,需要io的权限,还有java source的权限
Socket的权限呢
exec dbms_java.grant_permission( 'user', 'SYS:java.net.SocketPermission', '*', 'connect,resolve' );