您的位置:首页 > 数据库

[转]: 使用pl/sql获得网页内容

2012-08-28 18:06 316 查看
首先创建java sources并编译~~

create or replace and compile java source named stringutil as
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URLConnection;
import java.net.URL;

public class StringUtil
{

public static String getUrlString(String myUrl) {
String result = null;
InputStreamReader ISR = null;
BufferedReader in= null;

if (myUrl != null){
try{
URL url= new URL(myUrl); //得到文件的URL地址
ISR = new InputStreamReader(url.openStream(),"GB2312");
in = new BufferedReader(ISR);
String line;
StringBuffer content = new StringBuffer(); //文件内容
while ((line = in.readLine()) != null) { //读取文件
content.append(line+"n");
}
result = content.toString();
}
catch(Exception ex){
return "@err:"+ex.getMessage();
}
finally{
try{
if (in != null)in.reset();
}catch(Exception e){

}
try{
if (ISR != null)ISR.reset();
}catch(Exception e){

}
}
}
return result;
}
}

定义一个function

create or replace function Java_getUrlString(str In Varchar) return varchar2 as
LANGUAGE JAVA
NAME 'StringUtil.getUrlString(java.lang.String) return java.lang.String';

赋予当前用户执行权限

call dbms_java.grant_permission(username, 'SYS:java.net.SocketPermission','*', 'connect,resolve' );

最后测试看看是否有返回:

Select Java_getUrlString('http://www.5ienet.com/online.asp') From dual;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: