UTL_FILEエラー?
Oracle10g(リンクをはっています)
Winxp
http://oshiete1.goo.ne.jp/kotaeru.php3?q=995849
を参考にして以下のようなプロシージャを作成しました。
CREATE OR REPLACE PROCEDURE test.Test_Convrt IS
BEGIN
DECLARE
c1 number;
c2 number;
data1 varchar2(100) := null;
data2 varchar2(100) := null;
File_Handle UTL_FILE.FILE_TYPE;
Read_Line VARCHAR2(1023);
BEGIN
File_Handle := utl_file.fopen('C:\temp', 'test.csv', 'r');
LOOP
BEGIN
UTL_FILE.GET_LINE(File_Handle, Read_line);
-- カンマ位置
c1 := instr(Read_line,',',1,1);
c2 := instr(Read_line,',',1,2);
-- 列データ
data1 := ltrim(substr(Read_line,1 ,c1-1));
data2 := ltrim(substr(Read_line,c1+1,c2-c1-1));
-- update
update test.tbl1 set col1= data2
where col1= data1;
commit;
exception
when no_data_found then exit;
END;
END LOOP;
UTL_FILE.FCLOSE(File_Handle);
END;
END ;
コンパイルは通るのですが、いざ実行しようとすると、
行1でエラーが発生しました。 :
ORA-29280:invalid directory path
ORA-06512 at "SYS.UTL_FILE", line 33
ORA-06512 at "SYS.UTL_FILE", line 436
ORA-06512 at "test.TEST_CONVRT", line 11
ORA-06512 at line 1
と表示されました。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1338675
も見てみたのですが、初心者なので、いまひとつ理解できません。
SYS.UTL_FILEを参照できていないということはなんとなく、わかりました。
どのようにすれば解決できるでしょうか?
また、開発初心者なので、参考になるサイトが知りたいです。
どなたか、よろしくお願いします。