SYSCS_UTIL.SYSCS_EXPORT_QUERY_LOBS_TO_EXTFILE システム手続き

SYSCS_UTIL.SYSCS_EXPORT_QUERY_LOBS_TO_EXTFILE手続きを使って、主エクスポートファイルと、別になったLOBの情報のエクスポートファイルに、SELECT文の結果をエクスポートすることができます。

セキュリティ的な配慮と意図せぬファイルの破壊を避けるため、このエクスポートの手続きでは既存ファイルへの情報のエクスポートは行いません。このエクスポートの手続きには存在しないファイルを指定する必要があります。この手続きを実行するとファイルが新規で作成されて、そのファイルへ情報がエクスポートされます。

情報のエクスポートはデリミトファイル書式により行われます。

構文

SYSCS_UTIL.SYSCS_EXPORT_QUERY_LOBS_TO_EXTFILE (
    IN SELECTSTATEMENT VARCHAR(32672),
    IN FILENAME VARCHAR(32672), 
    IN COLUMNDELIMITER CHAR(1),
    IN CHARACTERDELIMITER CHAR(1), 
    IN CODESET VARCHAR(128)
    IN LOBSFILENAME VARCHAR(32672) 
    )

この手続きを実行すると、主エクスポートファイルに、情報がデリミトされたファイル書式で列の情報が書き出されます。

SELECTSTATEMENT
エクスポートする情報を返す問い合わせを記述します。 NULL値を指定するとエラーになります。SELECTSTATEMENTパラメータはVARCHAR (32672)型の値を入力にとる引数です。
FILENAME
情報をエクスポートする新規ファイルの名称を指定します。パスが省略された場合、現在のディレクトリが用いられます。既存ファイルの名前が指定された場合、エクスポートの手続きからエラーが返ります。ネットワークサーバを利用している場合、サーバ上のファイル位置を指定します。NULL値を取るとエラーになります。FILENAMEパラメータはVARCHAR (32672)型の値を入力にとる引数です。
COLUMNDELIMITER
列のデリミタを指定します。指定した文字は列の終わりを表すコンマの代わりに使われます。 NULL値を指定して既定のコンマを使うこともできます。COLUMNDELIMITERパラメータはCHAR (1)データ型の値を入力にとる引数です。
CHARACTERDELIMITER
文字のデリミタを指定します。指定した文字は文字列を囲う二重引用符の代わりに使われます。 NULL値を指定して既定の二重引用符を使うこともできます。CHARACTERDELIMITERパラメータはCHAR (1)データ型の値を入力にとる引数です。
CODESET
エクスポートファイルに書かれる情報のコードセットを指定します。コードセットの名称はJavaで利用可能なキャラクタエンコーディングセットのものである必要があります。情報はファイルに出力される前に、データベースのコードページから指定したコードページに変換されます。 NULL値を指定して実行中のJVMと同じコードページを指定することもできます。CODESETパラメータはVARCHAR (128)型の値を入力にとる引数です。
LOBSFILENAME
large objectの情報がエクスポートされるファイルを指定します。パスが省略された場合、lobのファイルは主エクスポートファイルと同じディレクトリに作成されます。もし既存のファイルと同じ名前を指定した場合、エクスポートユーティリティはファイルの内容を上書きします。ファイルに情報を追記する振る舞いはしません。 ネットワークサーバを利用している場合、サーバ上のファイル位置を指定します。 NULL値を指定するとエラーとなります。LOBSFILENAMEパラメータはVARCHAR (32672)型の値を入力にとる引数です。

使い方

この手続きの使い方に関する追加の情報は、Derby ツールとユーティリティーガイドの「バルクインポートとエクスポートの手続きを使う」という章を参照してください。

LOBの情報を別エクスポートファイルにして、問い合わせた情報をエクスポートする例

サンプルデータベースにあるSTAFF表から、20の部署の従業員の情報を、主ファイルをstaff.del、lobの情報をpictures.datにエクスポートする方法を、次の例で示します。
CALL SYSCS_UTIL.SYSCS_EXPORT_QUERY_LOBS_TO_EXTFILE(
    'SELECT * FROM STAFF WHERE dept=20',
    'c:\data\staff.del', ',' ,'"',
    'UTF-8','c:\data\pictures.dat');