Oracle 10のストアド・プロシージャを使用してテキスト・ファイルを作成する際の助けが必要です。Oracle - ストアド・プロシージャを使用してテキスト・ファイルを作成する
コードが見つかり、ストアドプロシージャとして作成しました。私はそれを実行し、それは正当です。しかし、私はそれを実行した、私はエラーを受けた"INVALID FILE NAME... AT SYS.UTL_FILE..."
私は最初にディレクトリに書き込みを許可するディレクトリを作成しました。
CREATE OR REPLACE PROCEDURE refcursorkim IS
l_file utl_file.file_type;
l_file_name VARCHAR2(60);
BEGIN
l_file := utl_file.fopen('UTL_DIR', l_file_name, 'w');
SELECT 'KY' || TO_CHAR(SYSDATE, 'yyyymmdd') || '1.txt' INTO l_file_name FROM dual;
utl_file.putf(l_file,l_file_name);
utl_file.fclose(l_file);
END refcursorkim;
私はこのことに全く慣れていないので、私は行方不明を知りません。もう一つのことは、ファイルが指定されたディレクトリに自動的に作成されているかどうかです。
あなたが私を助けてくれることを願っています。ありがとう、神は祝福します!
このコードは、ファイルが存在しない場合は自動的に作成されることを意味しますか?どのようにOracleサーバーのファイルのリストにアクセスするには?私はSELECT * FROM ALL_DIRECTORIESだけを知っています。これはディレクトリのリストを取得するだけですが、私は各ディレクトリのファイルも知りたいのですが(別のスレッドでこれを尋ねるはずです...)ファイルが作成されているかどうかを確認したいだけです。私はまだ同じエラーがあります。無効なファイル操作... sys.utl_file ...ありがとう! – user1249603
答えを更新しました。チェック。 – Guru
オラクル10gを使用しています。これは私のコードです: 'CREATE OR REPLACE PROCEDURE refcursorkim IS l_file utl_file.file_type; l_file_name VARCHAR2(60); BEGIN \t \t SELECT 'KY' || TO_CHAR(SYSDATE、 'yyyymmdd')|| '1.txt' \t \t INTO l_file_name FROM dual; l_file:= utl_file.fopen( 'UTL_DIR'、l_file_name、 'w'); utl_file.putf(l_file、l_file_name); utl_file.fclose(l_file); END refcursorkim; / エラーは、 "ORA-29283:ファイル操作が無効です。| ORA-06512:SYS。ORA-29283:ファイル操作が無効です| ORA-06512:SCHEMA_NAME.REFCURSORKIM、9行目| OR-06512:2行目 – user1249603