Oacle 실시 간 자바 http 인터페이스 호출
자바 소스 만 들 기
비고: (plsql 일반 사용자 로그 인하 여 자바 소스 만 들 기) 새 자바 소스, 코드:
create or replace and compile java source named jym as
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class JYM {
public static void sendGet(String url,String title){
String result ="";
BufferedReader in = null;
try{
String urlName = url+"?title="+title;
URL realUrl = new URL(urlName);
URLConnection conn = realUrl.openConnection();
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.connect();
in= new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while((line = in.readLine())!=null){
result += "/n"+line;
}
}catch(Exception e){
System.out.println(" GET "+e);
e.printStackTrace();
}
finally{
try{
if(in !=null){
in.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}
저장 프로시저 생 성
반환 값 과 반환 값 이 없 는 방법 은 구체 적 으로 저장 과정 을 만 드 는 방법 코드 를 보 세 요. 다음 과 같 습 니 다.
create or replace procedure lqHttp(ip varchar2,title varchar2)
as language java name
'JYM.sendGet(java.lang.String,java.lang.String)';
생 성 표:
create table message_notion(
id number(2),
name varchar2(20),
title varchar2(20)
)
삽입:
insert into message_notion (id,name,title) values (89,'lihq','test');
트리거 생 성:
create or replace trigger insterMessageNotionAfter
after insert on message_notion
for each row
begin
lqHttp('http://ip: /Sp/helloworld',:new.title);
end insterMessageNotionAfter;
비고: ip + 포트 번 호 는 Oacle 이 ip 에 접근 할 수 있어 야 합 니 다. 제 쪽 은 Oacle 단독 서버 입 니 다. 프로젝트 단독 서버 입 니 다. 포트 권한 을 열 어야 합 니 다. 접근 할 수 있 습 니 다.
insert 데이터 하나:
insert into message_notion (id,name,title) values (9,'lihq','test');
인터페이스 에서 데 이 터 를 받 지 못 했 습 니 다. 이것 은 Oacle 이 네트워크 통신 에 접근 하려 면 ACl 제어 권한 을 추가 해 야 하기 때 문 입 니 다.로그 인 이름 을 전환 하고 sys 로 plsql 에 로그 인하 여 ACL 네트워크 권한 을 추가 합 니 다.
BEGIN
dbms_network_acl_admin.create_acl(acl => 'lhqhttp.xml',
DESCRIPTION => 'Normal Access',
principal => 'SCOTT',
is_grant => TRUE,
PRIVILEGE => 'connect',
start_date => NULL,
end_date => NULL);
END;
principal: 사용자 이름, 자바 source 와 트리거 를 추가 한 사용자 이름
우 리 는 Markdown 편집기 에 대해 기능 확장 과 문법 지원 을 실 시 했 습 니 다. 표준 Markdown 편집기 기능 을 제외 하고 우 리 는 다음 과 같은 몇 가지 새로운 기능 을 추가 하여 블 로 그 를 쓸 수 있 도록 도 왔 습 니 다: isgrant: 권한 표시
begin dbms_network_acl_admin.add_privilege(acl => 'lhqhttp.xml',
principal => 'SCOTT',
is_grant => TRUE,
privilege => 'connect',
start_date => null,
end_date => null);
end;
begin
dbms_network_acl_admin.assign_acl(acl => 'lhqhttp.xml',
host => '120.78.212.39',
lower_port => 80,
upper_port => NULL);
end;
이 세 단 계 를 실행 한 후, ACl 제어 권한 을 봅 니 다.
SELECT any_path
FROM resource_view
where any_path like '/sys/acls/%.xml';
SELECT acl,
principal,
privilege,
is_grant,
TO_CHAR(start_date, 'DD-MON-YYYY') AS start_date,
TO_CHAR(end_date, 'DD-MON-YYYY') AS end_date
FROM dba_network_acl_privileges;
SCOTT 사용자 로 insert 를 실행 합 니 다.볼 수 있 으 면 정상 입 니 다. 열 리 지 않 으 면 위쪽 insert 데 이 터 를 직접 실행 하여 인터페이스 가 호출 되 었 는 지 확인 할 수 있 습 니 다.ACL 제어 권한 인 터 페 이 스 를 추가 하여 호출 에 성 공 했 지만 sql 조회 권한 은 acl 을 볼 수 없 었 습 니 다. 다시 시작 하지 않 은 이 유 는 아 닌 지 모 르 겠 습 니 다.코드 다운로드 링크: Oacle 과 자바 코드 (포인트 자동 설정 5, 어떻게 된 일 인지 모 르 겠 습 니 다. 필요 한 친 구 는 메 시 지 를 남 길 수 있 습 니 다)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
activemq 5.5 의 입문 은 설치, 시작, 데이터베이스 지속 화 를 포함한다Apache ActiveMQ 5.5.0 은 주로 유지보수 버 전 으로 130 개가 넘 는 문 제 를 복 구 했 으 며 대부분 bug 와 개선 이 었 다. Improved performance for offline d...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.