
ファイルへの書き込みができない
実行時エラーは表示されないのですが、ファイルへ出力されません。
コードは以下のようにしています。
よろしくお願いします。
declare
FILE_HANDLE utl_file.file_type;
STR varchar2(1023);
begin
-- 書き込みモードでファイルオープン
FILE_HANDLE := UTL_FILE.FOPEN('c:\tmp','test.txt','W');
STR := 'test';
-- ファイルへ出力
UTL_FILE.PUT(FILE_HANDLE,STR);
-- ファイルのクローズ --
UTL_FILE.FCLOSE(FILE_HANDLE);
exception
when others then
dbms_output.put_line('その他エラー');
end;
/
No.1ベストアンサー
- 回答日時:
以下の点で、不備がある可能性がありますね。
・Oracleの初期化パラメータ
・ディレクトリの権限
参考URLを参考に試してみることをオススメします。
参考になれば幸いです。
参考URL:http://www.shift-the-oracle.com/plsql/utl_file/u …
回答ありがとうございます。
紹介サイトを参考に以下の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
と出てしまいました。
No.5
- 回答日時:
No.4
- 回答日時:
> 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に設定したディレクトリにしか読み書きできないということと同じでいいのでしょうか?
No.2
- 回答日時:
Oracleのバージョンが書いていないのですが、9i以上ならCREATE DIRECTORYをするべきです。
#1さんのURLと併せてご覧ください。
参考URL:http://www.shift-the-oracle.com/plsql/utl_file/c …
回答ありがとうございます。
オラクルのバージョンは10gです。
create directory test as 'c:\test'
と実行してみましたがうまくいきません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
UTL_FILEパッケージについて
Oracle
-
ORA-29280:無効なディレクトリ・パスです
Oracle
-
Chr(13)とChr(10)の違いは?
PowerPoint(パワーポイント)
-
-
4
PLSQLでファイルに書き込みをしたいけど出来ない。。
その他(データベース)
-
5
SQL*Loaderでのsysdate使用
Oracle
-
6
Statement ignored というエラー
Oracle
-
7
Oracleでの文字列連結サイズの上限
Oracle
-
8
オラクル(PL/SQL)のエラー
その他(データベース)
-
9
PL/SQL PLS-00103エラーについて
Oracle
-
10
SQL*LoaderでCSVから指定した列のみインポートしたい。
Oracle
-
11
datapumpの実行方法について
Oracle
-
12
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
13
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
14
PL/SQLでSPOOLさせたいのですが、可能でしょうか?
Oracle
-
15
sqlplusで表示が変なので、出力を整形したい。
Oracle
-
16
CASE文のエラーについて
Oracle
-
17
SQL*Loaderのコミットポイント設定がうまくいってない?
Oracle
-
18
新規表領域の作成について
Oracle
-
19
データを削除しても表領域の使用率が減りません
Oracle
-
20
sql*loader 数値のロード
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルへの書き込みができない
-
ORA-29280:無効なディレクトリ...
-
UTL_FILEパッケージについて
-
ORA-01013のエラーについて経験...
-
CASE文のエラーについて
-
パーティション、未割当ての利...
-
インスタンスリカバリとメディ...
-
PL/SQL PLS-00103エラーについて
-
SQL*Plusで、コマンドの返答を...
-
Oracleの起動時に、マウントし...
-
datetime型のインポートについて
-
Oracleで流したSQLのログを取得...
-
4GB = 4096MB ではない?
-
新規表領域の作成について
-
DOSプロンプトとコマンドプロン...
-
ACCESSでパススルークエリにパ...
-
フルインポートで警告が発生します
-
Oracleデータベースの復旧方法
-
sysauxの読み方について
-
Oracle9 union使用時の結合制限...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-29280:無効なディレクトリ...
-
ファイルへの書き込みができない
-
ユーザーへのディレクトリ権限...
-
Oracle DataPumpでの移行
-
データベースオブジェクトの考...
-
タイプオブジェクト とは何で...
-
oracleでexpdpを使いデータをex...
-
UTL_FILEパッケージについて
-
エラーの解決方法が分かりません。
-
ORA-01013のエラーについて経験...
-
Oracleで流したSQLのログを取得...
-
CASE文のエラーについて
-
xy平面上の点P(x,y)に対し,点Q(...
-
はじめまして!
-
北朝鮮のミサイルについて
-
PL/SQLでログを確認したい。
-
PL/SQL PLS-00103エラーについて
-
DOSプロンプトとコマンドプロン...
-
クローンソフトで、Acronis Tru...
-
ストアド・プロシージャをバッ...
おすすめ情報