BFILENAME
構文
目的
BFILENAME
は、サーバーのファイル・システムの物理LOBバイナリ・ファイルに対応付けられているBFILE
ロケータを戻します。
-
'
directory
'は、実際にファイルが存在するサーバーのファイル・システム上のフルパス名に対する別名となるデータベース・オブジェクトです。 -
'
filename
'は、サーバーのファイル・システムにあるファイルの名前です。
SQL文、PL/SQL文、DBMS_LOB
パッケージまたはOCIの操作で、これらをBFILENAME
への引数として使用するには、まずディレクトリ・オブジェクトを作成し、BFILE
値を物理ファイルと対応付ける必要があります。
次の2つの方法で、このファンクションを使用できます。
-
DML文で
BFILE
列を初期化する場合 -
プログラム・インタフェースで、
BFILE
ロケータに値を割り当てることによってBFILE
データにアクセスする場合
ディレクトリの引数の大/小文字は区別されます。データ・ディクショナリ内に存在する名前と同じ名前でディレクトリ・オブジェクト名を指定しているかを確認する必要があります。たとえば、CREATE
DIRECTORY
文で、大/小文字を組み合せた識別子を引用符で囲んで使用してAdmin
ディレクトリ・オブジェクトを作成すると、BFILENAME
ファンクションを使用する場合、ディレクトリ・オブジェクトを'Admin'
として指定する必要があります。filename引数は、ご使用のオペレーティング・システムの大/小文字および記号の表記規則に従って指定する必要があります。
関連項目:
-
LOBの詳細および
BFILE
データの検出例については、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』および『Oracle Call Interfaceプログラマーズ・ガイド』を参照してください。
例
次の例では、サンプル表pm.print_media
に行を挿入します。BFILENAME
ファンクションを使用して、/demo/schema/product_media
ディレクトリにある、サーバーのファイル・システムのバイナリ・ファイルを識別します。次の例では、PM
スキーマでのディレクトリのデータベース・オブジェクトmedia_dir
の作成方法を示します。
CREATE DIRECTORY media_dir AS '/demo/schema/product_media'; INSERT INTO print_media (product_id, ad_id, ad_graphic) VALUES (3000, 31001, BFILENAME('MEDIA_DIR', 'modem_comp_ad.gif'));