代码如下:
create table dirlist(
filename varchar2(255),
filesize number,
filedate date);
create or replace and compile java source named dirlist as
import java.io.*;
import java.sql.*;
public class DirList
{
public static void getList(String directory) throws SQLException
{
File path=new File(directory);
String[] fileList=path.list();
String fileName;
long fileSize;
long fileDate;
for (int i=0;i<fileList.length; i++)
{
fileName=fileList[i];
File fpath=new File(directory+'/'+fileName);
fileSize=fpath.length();
fileDate=fpath.lastModified();
#sql{insert into dirlist(filename, filesize, filedate)
values(:fileName,:fileSize,to_date('01/01/1970','mm/dd/yyyy')+:fileDate/(24*60*60*1000))};
}
}
}
CREATE OR REPLACE PROCEDURE GETDIRLIST(i_directory IN VARCHAR2)
AS
LANGUAGE JAVA NAME 'DirList.getList(java.lang.String)';
PLSQL调用:
begin
GETDIRLIST('D:\某文件夹名字\');
commit;
---得到 D:\某文件夹名字\ 目录下 的所有文件名 存储在 dirlist表中
end;
求高人解答。读英文路径,不报错,可以实现。但是读纯中文的路径报错。ORA00253 好像是空指针 的意思。好像意思是:路径不存在。
------解决方案--------------------------------------------------------
没弄过,帮顶一下!祝你好运
------解决方案--------------------------------------------------------
难道不支持中文,帮顶
------解决方案--------------------------------------------------------
oracel有没有地方设置支持语言?