私はトッドを使用してOracleデータベースから画像を抽出するためにこのコードを持っていますが、抽出した画像を保存するディレクトリを宣言するときに問題があります。これらのイメージをローカルマシンのC:\ Images \フォルダに保存します。これは可能ですか、またはディレクトリをどのように指定する必要がありますか。UTL_FILE.FOPEN()ディレクトリパスを宣言して割り当てる方法は?
私はあなたがファイル常にこれを処理する任意のPL/SQLスクリプトを実行したときのコードは、Invalid file operation
DECLARE
t_blob BLOB;
t_len NUMBER;
t_file_name VARCHAR2(100);
t_output UTL_FILE.file_type;
t_TotalSize number;
t_position number := 1;
t_chucklen NUMBER := 4096;
t_chuck raw(4096);
t_remain number;
BEGIN
-- Get length of blob
SELECT DBMS_LOB.getlength (PHOTO), ename || '_1.jpg'
INTO t_TotalSize, t_file_name FROM DEMO WHERE ENAME ='moon';
t_remain := t_TotalSize;
-- The directory TEMPDIR should exist before executing
t_output := UTL_FILE.fopen ('C:\Images\', t_file_name, 'wb', 32760);
-- Get BLOB
SELECT PHOTO INTO t_blob FROM DEMO WHERE ENAME ='moon';
-- Retrieving BLOB
WHILE t_position < t_TotalSize
LOOP
DBMS_LOB.READ (t_blob, t_chucklen, t_position, t_chuck);
UTL_FILE.put_raw (t_output, t_chuck);
UTL_FILE.fflush (t_output);
t_position := t_position + t_chucklen;
t_remain := t_remain - t_chucklen;
IF t_remain < 4096
THEN
t_chucklen := t_remain;
END IF;
END LOOP;
END;
[UTL \ _FILE.FOPEN()プロシージャがディレクトリのパスを受け付けていない可能性がありますか?](http://stackoverflow.com/questions/2751113/utl-file-fopen-procedure-not-accepting-path-for -directory) – Nitish
dbのクライアントまたはローカルマシンのローカルマシン? –