WebDBtoolsの注意事項について説明します。
WebScriptで使用できるSymfoware/RDBのロケールとデータベースの文字コード系の関係を以下に示します。
Symfoware/RDBのロケール | データベースの文字コード系 |
---|---|
|
|
標準GUIをカスタマイズする場合、フォーマットファイルの文字コード系は、シフトJISコードで保存してください。
シフトJISコードの文字の範囲を以下に示します。
第1バイト | 第2バイト | 備考 |
---|---|---|
0x20~0x7E | (なし) | 英数字 |
0xA1~0xDF | (なし) | JIS X0201 カタカナ |
0x81~0x9F | 0x40~0x7E、0x80~0xFC | JIS X0208 |
0xE0~0xXX | 0x40~0x7E、0x80~0xFC | JIS X0208 |
0xxx~0xEF | 0x40~0x7E、0x80~0xFC | JIS X0208 |
WebScriptはSymfoware/RDBのロケールで動作しています。データの検索において、Symfoware/RDBのロケール以外のデータを読み込んだ場合、コード変換エラーとなります。
WebScriptのフォーマットファイルの処理時間が長くかかる場合(1つのSQL文での処理件数が多い場合、SQL文の繰返し実行、トランザクション排他待ちなど)は、以下の注意が必要です。
WebサーバやWebScriptのタイムアウト設定の変更
以下のようなエラーが発生した場合は、WebサーバやWebScriptの時間監視機能により処理が強制終了させられた可能性があります。Webサーバのタイムアウトをフォーマットファイルの処理時間以上に設定する必要があります。
インターネットサイトを開けません。
ドキュメントにデータが含まれていません。
Internal Server Error
CGI Timeout
CGI Error
共有セションを利用している場合は、以下の対処を検討してください。
busyTimeoutの変更
busyTimeoutの設定をデフォルト値(2分)から、フォーマットファイルの処理時間以上に変更します。
個別セションの利用
共有セションは、本来利用資源を少なくすることを目的としています。処理時間の長いフォーマットファイルをbusyTimeoutの設定を長くして利用すると、利用資源が多くなる可能性があります。busyTimeoutの問題が頻発する場合は、共有セションから個別セションに変更します。
WebScriptの<!DO>タグによりデータベースにアクセスするときは、Symfoware/RDBのデフォルトのモードで排他制御が行われます。フォーマットファイル中で<!DO>タグを利用してデータベースにアクセスした場合は、一連の処理が終了した後、必ず以下の3種類のタグを利用してトランザクションを終了させてください。なお、更新系のSQL文を使用した場合、トランザクションを終了させていないときは、ほかのブラウザからの同一範囲の同時実行は待ち状態となります。
<!DO "COMMIT">または<!DO "ROLLBACK">
<!TRANSACTION>
<!ABORT>
BLOBデータは、表定義時の定義サイズに従ってメモリに展開されます。定義サイズが大きい場合(例:BLOB(100M)など)は、サーバ処理でメモリ不足となる可能性があります。
共有セションを使用中、アクセスログおよびエラーログに、以下のメッセージが出力される場合がありますが、WebScriptの動作に影響はありません。
「日付 [PID]: fmtr: user=ユーザ host=WebScriptPublicSession query=WebScript session check. Please ignore.」 「日付 [PID]: WebScript session check. Please ignore.」