概要
データソースとして画像などのバイナリデータをTDVに接続した場合に、どのように扱われるかについて説明します。
検証環境
製品 | バージョン | 備考 |
---|---|---|
TDV Server |
8.5.4 |
Windows Server 2019環境で実行 |
TDV Studo | ||
PostgreSQL | 14 | バイナリデータが格納されるデータソースとして利用 |
DBeaver | 22.2.1 | PostgreSQL(データソース)とTDVに対してクエリを実行するために利用するクライアントツール |
データソース
以下の画像(tibco-logo.png
: TIBCO社のロゴ)をPostgreSQLのsample
テーブルにバイナリデータ(bytea型)として格納したものを準備します。
データベースに格納されたバイナリデータ(画像)は外部クライアントツールでは以下のように確認できます。
参考までに、バイナリデータは以下のクエリを実行することにより、テーブルに格納しています。
INSERT INTO sample(sample_id, bytes)
VALUES (1, pg_read_binary_file('sample/img/tibco-logo.png'));
イントロスペクト・公開
データソースをイントロスペクトし、コンテンツを確認します。
以下のようにbytesカラムにバイナリデータが表示されていることが確認できます。
次に、上記のsampleテーブルをデータサービス(DB形式)として公開します。
データサービス利用
公開されたテーブルに外部クライアントツールから接続し、バイナリデータを取得できることを確認します。
TDV公開テーブルに対してクエリを実行し、返却されたBLOB型の列の値を右クリックし内容をファイルに保存します。
データソース(PostgreSQL)に格納されたものと同じ画像が保存されることを確認します。
Web UI (データカタログ)からの利用
Web UI 上のデータカタログで公開されたバイナリデータを閲覧すると、以下のように文字列として表示されます。
CSVなどの形式でエクスポートすることは可能ですが、以下のように文字列として取得されるため、現時点ではデータベースクライアントからのデータ取得を推奨します。