Symfoware Server WebDBtoolsユーザーズガイド - FUJITSU -
目次 索引 前ページ次ページ

第3章 データベース連携

3.4 拡張タグによるデータベース処理

WebScriptでは、データベースのアクセス結果を、ブラウザで表示可能なHTMLに変換します。結果は、データベースの内容をテキスト形式に変換したものを、WebScriptのリスト変数に作成してHTMLに埋め込みます。
バイナリデータをBLOBから取り出す場合は、結果を画像に変換する機能により、HTMLに画像として埋め込みます。

■数値・文字データ検

数値、文字データの検索(バイナリ以外のデータ)については、データベースの結果をテキストに変換して、HTMLに埋め込みます。

以下に、伝票番号と商品からなる伝票表から、数値データを取り出す場合の、フォーマットファイルの記述と処理の推移を示します。

(1)利用者が開発したフォーマットファイルを読込み、データベースの検索処理(SQL文)を取り出します。
(2)取り出した拡張タグ命令のSQL文をデータベースサーバで実行し、結果を得ます。結果の集合を変数(r)に取り出し、データベースのデータをテキスト形式に変換します。
(3)取り出した拡張タグ命令で、データ取出し処理(<!FOREACH>)を実行します。利用者が埋込み命令(<!REPLACE>)で指示した位置に、各列の検索結果を埋め込んだHTMLを作成し、ブラウザに返却します。

■イメージデータの検

バイナリデータ(BLOB型の列)については、データベースの結果を画像とみなし、検索結果を画像として処理できる形式に変換し、HTMLに画像データとして埋め込みます。

以下に、BLOB型の列に会社外観というイメージデータを含む表を、会社表から会社外観のデータを取り出し、その結果をGIF形式で得る場合の、フォーマットファイルの記述と処理の推移を示します。

(1)利用者が開発したフォーマットファイルを読み込みます。
(2)結果は、拡張タグのないHTML形式に変換します。
(3)HTMLに変換された結果、WebScriptのwit_mediaコマンドに処理を依頼します。
(4)依頼の引数にあるSQL文から、対象のBLOB型の列のデータ検索を実行して、結果を受け取ります。
(5)wit_mediaコマンドの引数に渡されたイメージのタイプ(本例ではGIF)に応じて、結果をHTMLの画像データに変換してブラウザに返します。

■データベース処理のための拡張タグの処

WebScriptは、データベース処理のために、データベースアクセスタグがあります。データベースアクセスタグでは、以下の処理を行うことができます。

データベースアクセスタグの利用方法の例を以下に示します。例では、伝票番号と商品からなる伝票表の定義、伝票表のDSOおよびDSIの定義、rdbfmtコマンによりDSIの初期化、INSERT文によるデータの挿入をしています。

(1)拡張タグから処理するSQL文を取り出します。
(2)データベースサーバに、順次、SQL文の実行を依頼します。
(3)フォーマットファイルの実行結果をブラウザに通知します。

データベースの格納情報検索拡張タは、データベースの定義結果を確認するためのものです。

格納構造情報の取得方法の例を以下に示します。例では、定義した伝票表のDSO名とタイプを取得しています。

(1)利用者が開発したフォーマットファイルを読み込み、格納構造情報を取り出します。
(2)取り出した拡張タグ命令のSQL文を、データベースサーバで実行し、結果を得ます。
結果の集合を、WebScript変数(r)に取り出します。データベースのデータはテキスト形式に変換されます。
(3)取り出した拡張タグ命令のデータ取出し処理(<!FOREACH>)を、実行します。検索結果の各行を処理して、利用者が埋込み命令(<!REPLACE>)で指示した位置に、各列の値を埋め込んだものを作成します。この結果をHTMLに変換して、ブラウザに返却します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007