日期:2014-05-20  浏览次数:20807 次

ORACLE中调用JAVA SOURCE,无法读取中文路径
代码如下:

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有没有地方设置支持语言?