2011-06-17 64 views

答えて

2

UTL_FILEを使用する場合は次の2つのオプションのいずれかを持っている:

オプション1:UTL_FILE_DIRあなたはパラメータで使用するディレクトリを持っている必要があります。それがなければ、うまくいかないでしょう。欠点は、いつでもこのパラメータを変更または追加する必要があることです。データベースをバウンスする必要があります。この方法では、UTL_FILE.FREMOVEの最初のパラメータに実際のOSディレクトリが渡されます。

オプション2:代わりにoracle Directoryオブジェクトを使用します。 - OracleはUTL_FILE_DIRだった廃止予定の理由

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_file.htm

http://www.sc.ehu.es/siwebso/KZCC/Oracle_10g_Documentacion/server.101/b10755/initparams223.htm

+2

@Joel:あなたはUTL_FILE.FREMOVE

の最初のパラメータに

参照のディレクトリ・オブジェクト名(ない実際のOSのディレクトリ)を使用しますそれはセキュリティホールを作り出すからです。ディレクトリの前にUTL_FILEを使用するために、すべてのユーザーはOracleユーザーとしてUTL_FILE_DIRディレクトリへの完全な読込みおよび書込みアクセス権を持ちます。ディレクトリを使用すると、特定のディレクトリにアクセスできるユーザーと、そのユーザーが持つ特権をきめ細かく制御できます。 UTL_FILE_DIRを使用することの利点はありません。 –

+0

したがって、fremoveは最初のパラメータとして論理ディレクトリ名か物理ディレクトリ名のどちらかを取ることができますか? –

+0

@Justin Caveもちろん、Oracleユーザーがこれらのディレクトリにアクセスできるというセキュリティ上の懸念があります。それはOPが尋ねたことではなく、完全な開示の精神で利用可能なすべてのオプションを提示するのがよい習慣です。私は、UTL_FILE_DIRが '*'に設定されているデータベースのほんの一握り以上を見ました! :-O。 –

2

FREMOVEパラメータの配置に使用している構文は何ですか?ディレクトリの場合、大文字と小文字の区別があるOracle Directoryオブジェクトの名前を渡します。

関連する問題