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');