構文

用途
BFILENAMEは、サーバーのファイル・システムの物理LOBバイナリ・ファイルに対応付けられているBFILEロケータを戻します。
'directory'は、実際にファイルが存在するサーバーのファイル・システム上のフルパス名に対する別名となるデータベース・オブジェクトです。
'filename'は、サーバーのファイル・システムにあるファイルの名前です。
SQL文、PL/SQL文、DBMS_LOBパッケージまたはOCIの操作で、これらをBFILENAMEへの引数として使用するには、まずディレクトリ・オブジェクトを作成し、BFILE値を物理ファイルと対応付ける必要があります。
次の2つの方法で、このファンクションを使用できます。
DML文でBFILE列を初期化する場合
プログラム・インタフェースで、BFILEロケータに値を割り当てることによってBFILEデータにアクセスする場合
ディレクトリの引数の大/小文字は区別されます。データ・ディクショナリ内に存在する名前と同じ名前でディレクトリ・オブジェクト名を指定しているかを確認する必要があります。たとえば、CREATE DIRECTORY文で、大/小文字を組み合せた識別子を引用符で囲んで使用してAdminディレクトリ・オブジェクトを作成すると、BFILENAMEファンクションを使用する場合、ディレクトリ・オブジェクトを'Admin'として指定する必要があります。filename引数は、ご使用のオペレーティング・システムの大/小文字および記号の表記規則に従って指定する必要があります。
|
関連項目:
|
例
次の例では、サンプル表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'));