从Oracle调用java方法

从Oracle调用java方法,java,oracle,Java,Oracle,我正在使用oracle DB中的java方法,并编写以下代码,该代码负责插入服务器上现有的文件名以及与表文件名相关的接口。 此代码通常在多个环境中使用,没有任何错误。 但问题只存在于服务器上的目录正在读取不存在的文件的特定环境中,通过这种方式,我在表files\u name中获得了2条记录,而不是1条记录。 换句话说,我只有一个名为BL_TR.csv的文件,但当调用java时,它读取BL_TR.csv和旧文件。 我需要知道如何摆脱这个虫子?原因是什么 create or replace proc

我正在使用oracle DB中的java方法,并编写以下代码,该代码负责插入服务器上现有的文件名以及与表文件名相关的接口。
此代码通常在多个环境中使用,没有任何错误。
但问题只存在于服务器上的目录正在读取不存在的文件的特定环境中,通过这种方式,我在表files\u name中获得了2条记录,而不是1条记录。
换句话说,我只有一个名为BL_TR.csv的文件,但当调用java时,它读取BL_TR.csv和旧文件。
我需要知道如何摆脱这个虫子?原因是什么

create or replace procedure get_dir_list( p_directory in varchar2, intname in varchar2 )
as language java
name 'DirList.getList( java.lang.String, java.lang.String )';
/

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, String intname)
                throws SQLException
 {
 File path = new File( directory );
 String[] list = path.list();
 String element;

     for(int i = 0; i < list.length; i++)
     {
         element = list[i];
         #sql { INSERT INTO SSDX_ENG.FILES_NAME (FILE_NAME, INTERFACE)
            VALUES (:element, :intname) };
     }
 }
 }
/
创建或替换过程get\u dir\u列表(varchar2中的p\u目录,varchar2中的intname)
作为java语言
名称'DirList.getList(java.lang.String,java.lang.String)';
/
创建或替换并编译名为dirlist的java源代码
导入java.io.*;
导入java.sql.*;
公共类目录表
{
公共静态void getList(String目录,String intname)
抛出SQLException
{
文件路径=新文件(目录);
String[]list=path.list();
字符串元素;
for(int i=0;i
非常感谢您的反馈。

提前感谢。

答案可能不在代码中,而是在特定的环境中。这个文件是怎么回事?@Rene,这个文件能保存在数据库服务器的缓存中吗?从ftp我看不到文件!!ftp用户和oracle用户可能具有不同的权限,因此他们可能不会查看同一组文件。询问管理员。@Rene,谢谢您的反馈。问题出在没有显示旧文件的存储库的给定访问权限中。修改后,它会正常显示,以便我可以删除它。