PDFまたは画像(jpeg、gif、...)ファイルを保存するためのBlobフィールドを含むテーブルがあります。これを行うためのJavaEEアプリケーションがあり、正常に動作します。
ただし、コマンドを使用してBlobフィールドを挿入または更新する必要がある場合があります。
コーディングせずにこれを行う簡単な方法はありますか?純粋なコマンドまたはある種のツールを探しています。
DB2は、AIXおよびWindowsではv9です。
PDFまたは画像(jpeg、gif、...)ファイルを保存するためのBlobフィールドを含むテーブルがあります。これを行うためのJavaEEアプリケーションがあり、正常に動作します。
ただし、コマンドを使用してBlobフィールドを挿入または更新する必要がある場合があります。
コーディングせずにこれを行う簡単な方法はありますか?純粋なコマンドまたはある種のツールを探しています。
DB2は、AIXおよびWindowsではv9です。
残念ながら、私は現在 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