Plsql UTL_文件选项ORACLE
我有一个函数,其中包含对Plsql UTL_文件选项ORACLE,plsql,oracle11g,Plsql,Oracle11g,我有一个函数,其中包含对UTL\u文件包的调用。这将从表中读取数据,然后在Linux路径中写入文件 文件已正确生成,但其中的数据显示在不同的行中。 我需要将数据写入文件中的同一行 这可能吗 UTL_文件有这样做的选项吗 FUNCTION f_hisr_archive_name (New_File IN VARCHAR2 ,New_Path IN VARCHAR2 ,ARCHIVE_STRING IN VARCHAR2
UTL\u文件
包的调用。这将从表中读取数据,然后在Linux路径中写入文件
文件已正确生成,但其中的数据显示在不同的行中。
我需要将数据写入文件中的同一行
这可能吗
UTL_文件有这样做的选项吗
FUNCTION f_hisr_archive_name
(New_File IN VARCHAR2
,New_Path IN VARCHAR2
,ARCHIVE_STRING IN VARCHAR2
,hisr_freq_rec IN HISRFrequency%ROWTYPE
) RETURN INTEGER
IS
BEGIN
IF ( ( RTRIM(New_File) = RTRIM(File) ) AND
( RTRIM(New_Path) = RTRIM(Path) ) )
THEN
null;
ELSE
IF ( UTL_FILE.IS_OPEN(arch_file_handle) )
THEN
UTL_FILE.FCLOSE(arch_file_handle);
END IF;
/*
|| remember new file/path
*/
File := New_File;
Path := New_Path;
arch_file_handle := UTL_FILE.FOPEN(Path, File, 'A');
HISR_DEBUG.p_hisr_debug_out ('ARCHIVE'
,': f_hisr_archive_name '||' Path: '|| Path ||'...'|| File ,'YES');
END IF;
UTL_FILE.PUT_LINE(arch_file_handle, ARCHIVE_STRING );
RETURN(1);
输出文件行:
2016/03/03 11:40:05!1.FEP.1.P!菲普!!主站!106-GDA DHL连接!
已收到服务器启动ILIST。已试图
连接到用于DAC历史日志存储的临时数据库。这个
连接状态为:成功
使用
utl\u fil.put()
而不是utl\u file.put\u line()
显示的代码只向输出文件写入一行???写入一个文件。但里面显示了三行数据。我需要,如果可能的话,只在一行上查看数据。存档字符串中有换行符吗?还是希望多个调用(以追加模式打开文件)继续写入同一行?在这种情况下,使用put()
仍然是您所需要的,但可能会使用换行作为最终调用?使用utl_file.put()不会写入文件。我看到了错误:ORA-29285:error de escritura de archivo。此外,我还必须更改行:arch\u file\u handle:=UTL\u file.FOPEN(路径,文件'A',2000);相反,arch_file_handle:=UTL_file.FOPEN(路径,文件'A');