• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルへの書き込みができない)

ファイルへの書き込みができない

このQ&Aのポイント
  • 実行時エラーは表示されないのですが、ファイルへ出力されません。
  • コードは以下のようにしています。
  • ファイルへの書き込みができません。

質問者が選んだベストアンサー

  • ベストアンサー
  • _yasuo
  • ベストアンサー率41% (16/39)
回答No.1

以下の点で、不備がある可能性がありますね。 ・Oracleの初期化パラメータ ・ディレクトリの権限 参考URLを参考に試してみることをオススメします。 参考になれば幸いです。

参考URL:
http://www.shift-the-oracle.com/plsql/utl_file/utl_file_dir.html
shaka001
質問者

お礼

回答ありがとうございます。 紹介サイトを参考に以下の2点を試してみました。 1、すべてのユーザーへの権限の付与 2、ALTER SYSTEM SET UTL_FILE_DIR='c:\test' SCOPE = SPFILE ; 再度、質問内容の処理を実行したら 行1でエラーが発生しました。: ORA-29280: 無効なディレクトリ・パスです。 ORA-06512: "SYS.UTL_FILE", 行33 ORA-06512: "SYS.UTL_FILE", 行436 ORA-06512: 行7 と出てしまいました。

その他の回答 (5)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.6

UTL_FILE_DIRを使う方法と、CREATE DIRECTORYをする方法を混同されているようですね。 提示された参考ページはきちんと読んだのでしょうか? まずはそのとおりにやってみてから、自分のやりたいことに応用していけばいいのでは。

shaka001
質問者

お礼

回答ありがとうございます。 根本的な理解の仕方が違っていたようです。 解決しました。

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.5
shaka001
質問者

お礼

何度もありがとうございます。

  • yorozu_ya
  • ベストアンサー率54% (76/140)
回答No.4

> create directory test as 'c:\test' > と実行してみましたがうまくいきません。 最初の投稿には、 FILE_HANDLE := UTL_FILE.FOPEN('c:\tmp','test.txt','W'); とありますが、 create directory test as 'c:\tmp' ではないのですか? さらに、権限の設定も必要です。

shaka001
質問者

お礼

回答ありがとうございます。 オラクルは初めてなので、正直それらしきことは片っ端から試しているような状況です。なので、いまいちよくわかってないです。 権限については、初期化パラメータ UTL_FILE_DIRに設定したディレクトリにしか読み書きできないということと同じでいいのでしょうか?

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.3

init.oraに UTL_FILE_DIR=C:\tmp と記述してますか?

shaka001
質問者

お礼

回答ありがとうございます。 オラクルのバージョンは10gなのですが、init.oraはどこに配置されているのでしょうか?

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.2

Oracleのバージョンが書いていないのですが、9i以上ならCREATE DIRECTORYをするべきです。 #1さんのURLと併せてご覧ください。

参考URL:
http://www.shift-the-oracle.com/plsql/utl_file/create-directory.html
shaka001
質問者

お礼

回答ありがとうございます。 オラクルのバージョンは10gです。 create directory test as 'c:\test' と実行してみましたがうまくいきません。

関連するQ&A