いくつかの結果をWindowsフォルダ「c:\temp」に出力してみてください。プロシージャをコンパイルして問題なく実行しますが、出力ファイル「c:\ temp\foo.log」が見つかりません。これが私のコードです:
CREATE OR REPLACE DIRECTORY tmp AS 'c:\temp\';
CREATE OR REPLACE PROCEDURE write_log
AS
CURSOR cur
IS
SELECT firstname,
lastname
FROM MEMBER
WHERE memberid BETWEEN 2 AND 5; -- only test 3 rows.
fname MEMBER.firstname%TYPE;
lname MEMBER.lastname%TYPE;
outputrecord VARCHAR2 ( 255 );
outputfile UTL_FILE.file_type;
BEGIN
OPEN cur;
FETCH cur
INTO fname,
lname;
outputfile := UTL_FILE.fopen ( UPPER ( 'tmp' ),
'foo.log',
'W',
32767
);
WHILE cur%FOUND
LOOP
outputrecord := fname || ',' || lname;
UTL_FILE.put ( outputfile, outputrecord );
UTL_FILE.new_line ( outputfile );
FETCH cur
INTO fname,
lname;
END LOOP;
CLOSE cur;
UTL_FILE.fclose ( outputfile );
END write_log;
/
BEGIN
write_log;
END;
/
私はここで何か間違ったことをしましたか?
ありがとう!