Oracle10g(リンクをはっています)
Winxp
http://oshiete1.goo.ne.jp/kotaeru.php3?q=995849
を参考にして以下のようなプロシージャを作成しました。
CREATE OR REPLACE PROCEDURE test.Test_Convrt IS
BEGIN
DECLARE
c1 number;
c2 number;
data1 varchar2(100) := null;
data2 varchar2(100) := null;
File_Handle UTL_FILE.FILE_TYPE;
Read_Line VARCHAR2(1023);
BEGIN
File_Handle := utl_file.fopen('C:\temp', 'test.csv', 'r');
LOOP
BEGIN
UTL_FILE.GET_LINE(File_Handle, Read_line);
-- カンマ位置
c1 := instr(Read_line,',',1,1);
c2 := instr(Read_line,',',1,2);
-- 列データ
data1 := ltrim(substr(Read_line,1 ,c1-1));
data2 := ltrim(substr(Read_line,c1+1,c2-c1-1));
-- update
update test.tbl1 set col1= data2
where col1= data1;
commit;
exception
when no_data_found then exit;
END;
END LOOP;
UTL_FILE.FCLOSE(File_Handle);
END;
END ;
コンパイルは通るのですが、いざ実行しようとすると、
行1でエラーが発生しました。 :
ORA-29280:invalid directory path
ORA-06512 at "SYS.UTL_FILE", line 33
ORA-06512 at "SYS.UTL_FILE", line 436
ORA-06512 at "test.TEST_CONVRT", line 11
ORA-06512 at line 1
と表示されました。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1338675
も見てみたのですが、初心者なので、いまひとつ理解できません。
SYS.UTL_FILEを参照できていないということはなんとなく、わかりました。
どのようにすれば解決できるでしょうか?
また、開発初心者なので、参考になるサイトが知りたいです。
どなたか、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
10g なら絶対パスでのファイルアクセスは止めた方がよいですよ
参考のサイトにディレクトリと絶対パスの両方のファイルアクセスのサンプルがあります。
UTL_FILE パッケージにアクセスできていますので
ORA-29280:invalid directory path
が直接の原因です。サーバ初期化パラメータ(SPFILE)の未設定によるものでしょう
参考URL:http://biz.rivus.jp/technote507106.html
参考URLを見させていただいて、その後もいろいろ調べてみたところ、ようやく理解することができました。
本当にありがとうございました。
パラメータを変更することが、仕様的に許可されないようなので、別の方向からアプローチしたいと思います。
本当に感謝しております。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
相手側の携帯が電源切れてる時...
-
1コールだけ鳴るけど切れる電話...
-
face book で女性の方からline ...
-
Windowsのバッチファイルで正規...
-
既婚女性にラインを聞くことに...
-
よく05(04)lineって見かけるん...
-
並立と並列の違いってなんですか?
-
python flask から fastapiへの...
-
lineのワン切り、なぜ?
-
生産ラインの品質を表す直行率...
-
「一番上、真ん中、下」を示す英語
-
着信拒否、ラインブロックと解...
-
法線(normal line)はなぜそう...
-
いきなりラインのトークに「新...
-
sheinで服を注文しました。 lin...
-
私がlineのアイコンを変更する...
-
2000年生まれなのですが 00line...
-
ある男子から、ライン追加され...
-
新規発行された格安SIMでLine登...
-
遠くにいる友達とLINE交換する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
相手側の携帯が電源切れてる時...
-
1コールだけ鳴るけど切れる電話...
-
face book で女性の方からline ...
-
よく05(04)lineって見かけるん...
-
Windowsのバッチファイルで正規...
-
いきなりラインのトークに「新...
-
生産ラインの品質を表す直行率...
-
line でおはようございます、の...
-
LINEで好きな人が「笑」を全然つ...
-
法線(normal line)はなぜそう...
-
「一番上、真ん中、下」を示す英語
-
毎月記念日をlineで祝うのって...
-
python flask から fastapiへの...
-
半年付き合ってきた彼女をブロ...
-
2000年生まれなのですが 00line...
-
ある男子から、ライン追加され...
-
遠くにいる友達とLINE交換する...
-
私がlineのアイコンを変更する...
-
ラインナップとラインアップは...
-
会社の先輩とLINE プライベート...
おすすめ情報