システム開発ブログ

システムソリューション部

データベース

PL/SQLからファイルの入出力を行う

みなさん、こんにちは。

PL/SQLを使ってファイルの入出力を行うには、
UTL_FILEパッケージを使います。

ここで注意点があります。
実際に使う時には、ファイルの入出力を行うフォルダに対して
権限を与える必要があることです。
権限を与える方法は2通りあります。

■初期化パラメータで指定する
utl_file_dirという初期化パラメータがあるので、
そこで入出力を行うフォルダを記述します。
ワイルドカード指定も可能です。

ただし、初期化パラメータを変更した場合は
データベースの再起動をしないと設定が反映されません。

■ディレクトリオブジェクトで指定する
Oracle9i R2以降からはディレクトリオブジェクトというものが使えます。
以下のようにスクリプトを流すことでディレクトリオブジェクトが生成され、
対象スキーマでそのディレクトリオブジェクトを使用することができるようになります。

この方法の場合は即反映されるのでデータベースを再起動する必要はありません。

※ここではスキーマをPRJ、ファイルを出力する場所を"D:\LOGS"とします。
-- PL/SQLからのファイル入出用のディレクトリオブジェクトを生成
CREATE DIRECTORY UTL_FILE_DIR AS 'D:\LOGS';
/
-- PRJスキーマに読み込み権限を付与
GRANT READ ON DIRECTORY UTL_FILE_DIR TO PRJ;
/
-- PRJスキーマに書き込み権限を付与
GRANT WRITE ON DIRECTORY UTL_FILE_DIR TO PRJ;
/

システム周りのお悩みを解決します

まずは無料ダウンロード

この記事に関連する記事の一覧


システム開発ブログ

Twitterでilovex_officialをフォローしてください

カテゴリー

以前の部署別ブログ

ページのトップ