暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 与作业调度程序相关

askTom 2016-10-19
142

问题描述

嗨,汤姆,

实际上,我创建了一个作业(它将每5分钟运行一次)来执行这个过程,在这个过程中,我们从目录中读取文件列表,并使用java类构造一个字符串,其中包含所有的文件名。

这里我的问题是,当作业自动执行时,字符串返回空值而不是文件名列表。如果你强制作业,它工作正常。

删除JAVA源“DirectoryListister”;

创建或替换并解析名为“DirectoryListister”的JAVA源,作为导入java.io.File ;
导入java.util.Arrays ;
公共类DirectoryLister
{
公共静态字符串getFileList (字符串idir, String seep )
{
File aDirectory = new File(idir) ;
File[] fileInDir = aDirectory.listFiles() ;
字符串结果= "";
for ( int i=0; i {
if (fileInDir[i].isFile()
&&!filesInDir[i].isHidden()
{
结果=结果+ep +fileInDir[i].getName() ;
}
}
返回结果;
}
};

/


创建或替换包体inter_file
组件
函数列表oracle目录(
p_dir在VARCHAR2中,
p_sep IN VARCHAR2)
RETURN VARCHAR2 组件 LANGUAGE JAVA
名称'DirectoryList.getFileList(java.lang.String, java.lang.String)返回字符串';


创建或替换包体接口文件
组件
函数列表oracle目录(
p_dir在VARCHAR2中,
p_sep IN VARCHAR2)
RETURN VARCHAR2 组件 LANGUAGE JAVA
名称'DirectoryList.getFileList(java.lang.String, java.lang.String)返回字符串';

过程加载_nscc_file_从_目录

cs_directory_in常数VARCHAR2 (20)
:='D:\Oracle\Connectors\DEV\N_FILES\IN';

cs_file_sparator常量VARCHAR2 (10) := ';';
v_list_of_files VARCHAR2 (32767) ;


错误异常;
开始
v_list_of_files :=
file_util.list_oracle_directory (p_dir => cs_directory_in ,
p_sep => cs_file_sparator) ;
例外
当其他人
那么
空;
结束;
结束;

请建议我应该怎么做,我们需要改变任何数据库参数或任何特殊权限模式应该有?

运行此作业的架构拥有目录上的所有权限。

专家解答

首先-删除此:

EXCEPTION
WHEN OTHERS
THEN
NULL;
END;


因为如果你发现了所有的错误,那么我们就看不到哪里出错了。一旦删除了它,如果您从调度程序中得到一个错误,它将被写入跟踪文件。

所以先试试这个。

你能给我们看看你用来安排这个工作的plsql吗?


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论