- ベストアンサー
ファイルへの書き込みができない
- 実行時エラーは表示されないのですが、ファイルへ出力されません。
- コードは以下のようにしています。
- ファイルへの書き込みができません。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
以下の点で、不備がある可能性がありますね。 ・Oracleの初期化パラメータ ・ディレクトリの権限 参考URLを参考に試してみることをオススメします。 参考になれば幸いです。
その他の回答 (5)
- yamada_g
- ベストアンサー率68% (258/374)
UTL_FILE_DIRを使う方法と、CREATE DIRECTORYをする方法を混同されているようですね。 提示された参考ページはきちんと読んだのでしょうか? まずはそのとおりにやってみてから、自分のやりたいことに応用していけばいいのでは。
お礼
回答ありがとうございます。 根本的な理解の仕方が違っていたようです。 解決しました。
- SaKaKashi
- ベストアンサー率24% (755/3136)
init.oraの場所はここに記述があります。 http://otndnld.oracle.co.jp/document/products/oracle10g/102/windows/B25020-02/specs.htm
お礼
何度もありがとうございます。
- yorozu_ya
- ベストアンサー率54% (76/140)
> create directory test as 'c:\test' > と実行してみましたがうまくいきません。 最初の投稿には、 FILE_HANDLE := UTL_FILE.FOPEN('c:\tmp','test.txt','W'); とありますが、 create directory test as 'c:\tmp' ではないのですか? さらに、権限の設定も必要です。
お礼
回答ありがとうございます。 オラクルは初めてなので、正直それらしきことは片っ端から試しているような状況です。なので、いまいちよくわかってないです。 権限については、初期化パラメータ UTL_FILE_DIRに設定したディレクトリにしか読み書きできないということと同じでいいのでしょうか?
- SaKaKashi
- ベストアンサー率24% (755/3136)
init.oraに UTL_FILE_DIR=C:\tmp と記述してますか?
お礼
回答ありがとうございます。 オラクルのバージョンは10gなのですが、init.oraはどこに配置されているのでしょうか?
- yamada_g
- ベストアンサー率68% (258/374)
Oracleのバージョンが書いていないのですが、9i以上ならCREATE DIRECTORYをするべきです。 #1さんのURLと併せてご覧ください。
お礼
回答ありがとうございます。 オラクルのバージョンは10gです。 create directory test as 'c:\test' と実行してみましたがうまくいきません。
お礼
回答ありがとうございます。 紹介サイトを参考に以下の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 と出てしまいました。