PL/SQLでCSVを作成又は、読み込みたい
下記のエラーが出て、UTL_FILEパッケージが使用できません。なぜでしょう? 下記SQL文の「※1」箇所で「UTL_FILE」の後 「.」を入力しても、「FILE_TYPE」は選択肢には表示されず、やむを得ず手入力しました。
~~~~~~~~~~~~~~~~~~~~~~~ 問題のSQL文 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
DECLARE
DNM VARCHAR2(200) := 'C:\TMP';
FNM VARCHAR2(200) := 'TEST.CSV';
CURSOR CUR1 IS
SELECT COL1, COL2, COL3, COL4, COL5
FROM A;
FHANDLE UTL_FILE.FILE_TYPE; ←←←←←←←←←← ※1
REC VARCHAR2(2000);
BEGIN
FHANDLE := UTL_FILE.FOPEN(DNM,FNM,'W',2002);
UTL_FILE.PUTF(FHANDLE,'"%S","%S","%S","%S"\N','タイプ','オブジェクト','作成日','更新日');
BEGIN
FOR CUR_REC IN CUR1 LOOP
UTL_FILE.PUTF(FHANDLE,'"%S","%S","%S","%S"\N','タイプ','オブジェクト','作成日','更新日');
END LOOP;
END;
UTL_FILE.FCLOSE(FHANDLE);
END;
~~~~~~~~~~~~~~ エラーメッセージ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error
[row:1,col:1] ORA-06510: PL/SQL: ユーザー定義の例外が発生しましたが、処理されませんでした
ORA-06512: "SYS.UTL_FILE", 行120
ORA-06512: "SYS.UTL_FILE", 行293
ORA-06512: 行14
お礼
非常にわかりやすくご回答いただきましてありがとうございます! >この質問は、どちらかというとデータベース>Oracleカテゴリの方があってるかも? 確かにそうですね。。