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_
相关文档:
创建oracle job
oracle job简介
主要的使用情景
定时在后台执行相关操作:如每天晚上0点将一张表的数据保存到另一张表中,2:定时备份数据库等
熟化说万事开头难,这里我只简单记述一个创建一个简单的job
步骤如下:
1、创建一张表g_test
create table G_TEST
(
ID NUMBER(1 ......
这学期准备花少许时间研究一下oracle,台式机的Ubuntu不稳定老坏,放弃了linux上使用oracle的想法,在自己笔记本上装了一个oracle 10g express版本,学习一下。
本来还想用云端虚拟化一下oracle,实验失败,老老实实让oracle侵入我的系统。。。囧
安装完 ......
本文介绍的JAVA规则的说明分为3个主要级别,中级是平时开发用的比较多的级别,在今后将陆续写出其他的规则。遵守了这些规则可以提高程序的效率、使代码又更好的可读性等。
(1) 在finally方法里关掉input或者output 资源
再方法体里面定义了input或者output流的话,需要在finally里面把它关掉。
以下 ......
Java Web开发中,有许多共通的问题,是开发人员在开发过程中一定会遇到的,需要处理的问题:
1. 乱码问题
为何会出现乱码问题?既然有乱码问题,肯定是由于编码设置的不一致导致的。在Web开发
过程中,涉及以下一些编码设置,客户端参数的编码设置,Web服务器的编码设置,服务器端应用程序的编码设置,数据库 ......
Java中通过implements Serializable来实现对象的序列化。其实Serializable接口中并没有需要实现的方法,注明某个类implements Serializable只是为了标识或表明这个类可以被序列化。
那么什么是序列化呢,序列化又有什么作用呢?
一个类,或 ......