2

PDFまたは画像(jpeg、gif、...)ファイルを保存するためのBlobフィールドを含むテーブルがあります。これを行うためのJavaEEアプリケーションがあり、正常に動作します。

ただし、コマンドを使用してBlobフィールドを挿入または更新する必要がある場合があります。

コーディングせずにこれを行う簡単な方法はありますか?純粋なコマンドまたはある種のツールを探しています。

DB2は、AIXおよびWindowsではv9です。

4

1 に答える 1

1

残念ながら、私は現在 DB2 を手元に持っていませんが、正しい方向性を示すことができると思います:

#!/bin/sh

FILENAME="$1"
HEX=`xxd -p $FILENAME | tr -d '\n'`

echo insert into $2 \($3\) values \(cast\(X\'$HEX\' as blob\( $4 \)  \) \);

アイデアは、xxdを使用して、ファイルの適切な 16 進数文字列を作成することです。(AIX には、壊れていない限り、xxd がインストールされています。) 16 進文字列は、SQL 照会で db2 コマンド行プロセッサー (「db2」) で使用できます。16 進文字列を blobにキャストするだけです。

私が提供したスクリプトは、テスト用に正しい SQL クエリを出力します。DDL やその他の要件に合わせて修正してください。次に、echo コマンドを db2 コマンドに変更すると、ユーティリティが動作するはずです。

./myscript myfile mytable myblob myblobsize
于 2013-02-01T16:31:35.967 に答える