我在oracle DB中使用java方法,并编写以下代码,该代码负责将服务器上存在的文件名和相关接口插入表files_name。
此代码通常用于多个环境,没有任何错误
但问题仅存在于服务器上的目录正在读取不存在的文件的特定环境中,这样我在表files_name而不是1条记录中获得2条记录。
换句话说,我只有一个名为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) };
}
}
}
/
非常感谢任何反馈 提前谢谢。