oracle调用java类遍历磁盘文件
利用oracle自带的utl_file包可以访问磁盘文件,但有个限制--无法访问文件夹?什么意思呢?就是说oracle只能访问指定的文件,而不能访问文件夹下的未知文件。所以,如果要通过oracle去遍历某指定路径下的所有文件,sorry, impossible! 但是,有一种替代方案可以助你一臂之力!
众所周知java之File类指向的可以是目录也可以是文件,如果指向目录,可以用file.list()找到包含的文件及目录,so that,我可以用java来遍历文件,然后返回一个值给oracle再进行后续操作。
Come on, let's talk about this case!
oracle调用java可以分三个步骤:
第一步:在PLSQL客户端里写java代码(类及方法),实现oracle无法做的工作或你想要让java做的工作;
--功能:返回所有文件字段串
create or replace and compile java source named file_list as
import java.io.File;
public class file_list
{
public static String entry(String path)
{
StringBuffer resultBuffer = new StringBuffer();
try{
File file = new File("I:\\"+path);
resultBuffer.append(file.getAbsolutePath());
String[] files = file.list();
resultBuffer.append("----");
for(int i=0; i<files.length; i++){
StringBuffer fileStr = new StringBuffer("<P align='center'><IMG src="http://www.qdda.gov.cn/");
fileStr.append(path.replace(" mce_src="http://www.qdda.gov.cn/");
fileStr.append(path.replace("\\', '/'));
fileStr.append(files[i]);
fileStr.append("'></P>");
resultBuffer.append(fileStr.toString());
}
}catch(Exception ex){
resultBuffer.append("----");
resultBuffer.append(ex);
}
return resultBuffer.toString();
}
}
第二步:写oracle函数(function),调用java类方法;
create or replace function func_file_list(path in varchar2) return varchar2 as
language java name 'file_list.entry(java.lang.String) return java.lang.String' ;
第三步:写oracle存储过程(procedure)或客户端调用程序;
create or replace procedure proce_transfer_
相关文档:
1.选择您所安装Orcale的目录,例如:C:\Oracle
2.右键点击,弹出“属性”对话框,选择“安全”选项卡
3.添加“IUser_机子名称”用户的权限,采用完全控制的方式
4.确定应用后,在选择“安全”选项卡中选择“IUser_机子名称”用户,点击高级
5.选择选择框“用在 ......
Java可以直接调用Linux命令,形式如下:
Runtime.getRuntime().exec(command)
举例:运行ls,top命令可以这样:
Runtime.getRuntime().exec("ls");
但是这样执行时没有任何输出,原因:
调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例,
(注意:Runtim ......
每个Java初学者都应该明白的问题
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。
问题一:我声明了什么!
String s = "Hello world!";
许多人都做过这样的 ......
本文介绍的JAVA规则的说明分为3个主要级别,中级是平时开发用的比较多的级别,在今后将陆续写出其他的规则。遵守了这些规则可以提高程序的效率、使代码又更好的可读性等。
(1) 在finally方法里关掉input或者output 资源
再方法体里面定义了input或者output流的话,需要在finally里面把它关掉。
以下 ......
Java Web开发中,有许多共通的问题,是开发人员在开发过程中一定会遇到的,需要处理的问题:
1. 乱码问题
为何会出现乱码问题?既然有乱码问题,肯定是由于编码设置的不一致导致的。在Web开发
过程中,涉及以下一些编码设置,客户端参数的编码设置,Web服务器的编码设置,服务器端应用程序的编码设置,数据库 ......