-1
CREATE OR REPLACE PROCEDURE file_trial IS
  V1 VARCHAR2(32767);
  F1 UTL_FILE.FILE_TYPE;
BEGIN
  F1 := UTL_FILE.FOPEN('C:\TEMP','AVI','R',256);
  UTL_FILE.GET_LINE(F1,V1,32767);
 UTL_FILE.FCLOSE(F1);
END file_trial;

実行中のこのコードは

ORA 29280 : ディレクトリ パスが無効です"

ただし、一時フォルダーに存在するファイル (avi.txt)

4

1 に答える 1

3

OracleでDIRECTORYを作成する必要があります

SYS として:

CREATE DIRECTORY MY_SYMBOLIC_NAME AS 'C:\TEMP';
GRANT READ,WRITE ON DIRECTORY oraload TO my_user;

シンボリック名とファイル名 (ファイル名拡張子を含む) を使用して、ディレクトリ内のファイルを開くことができるようになりました。

F1 := UTL_FILE.FOPEN('MY_SYMBOLIC_NAME','AVI.TXT','R',256);

Oracle の DIRECTORY は、Sathya が指摘したように、データベース サーバーからアクセス可能なファイル システム ディレクトリを指していることに注意してください。

于 2011-08-19T09:29:05.227 に答える