を使用して、別のコンピューターのリモート ファイルにアクセスする必要がありますutl_file
。
これは私がしたことです:
リモート PC で Adminstrator+Users+ora_db プロファイルを持つユーザーを作成すると、自分の PC で同じロールを持つ同じユーザーが作成されます。
この管理者アカウントを使用して Oracle サービスを実行します
Windows でのリモート ディレクトリのマップ
次のコマンドを使用して、ファイルを構成およびアクセスします。
create or replace directory REMOTE_LOG as '\\remote_shared_dir\log';
declare
f UTL_FILE.FILE_TYPE;
line VARCHAR2(32767) ;
begin
BEGIN
f := UTL_FILE.FOPEN('REMOTE_LOG','toto.txt','R',32764);
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line('err '||sqlerrm);
END;
UTL_FILE.GET_LINE( f, line );
UTL_FILE.FCLOSE( f ) ;
end;
しかし、それは失敗しました:
[Error] Execution (7: 3): ORA-29282: invalid file ID
ORA-06512: at "SYS.UTL_FILE", line 735
ORA-06512: at line 13
例外ハンドラーを削除すると、代わりに次のように表示されます。
[Error] Execution (7: 3): ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation
ORA-06512: at line 8
私は何を間違っていますか?