Symfoware Parallel Server RDBユーザーズガイド 応用プログラム開発編 |
目次
索引
![]() ![]() |
第1章 Symfoware/RDBの概要 |
データベースの設計が完了したら、データベースへアクセスする応用プログラムを開発します。図:応用プログラム開発作業の流れに、応用プログラムの開発作業の流れを示します。なお、応用プログラムの実行処理を行うためには、Symfoware/RDBの起動が必要となります。
データベースを処理する応用プログラムの設計作業は、一般の応用プログラムの開発作業と変わりません。データベース特有に考慮すべき点を以下に示します。
データベースを処理するための言語には、C言語およびCOBOL言語があります。アクセス対象の表の列の属性などを考慮して選択する必要があります。
データベースは、複数の応用プログラムから共用して利用します。このため、応用プログラム間の排他を考慮してプログラムを設計する必要があります。たとえば、2つの応用プログラムが別の表を参照したあと、互いに他方の応用プログラムが参照している表を更新するようなプログラムを同時に実行すると、デッドロックが発生して処理ができなくなることがあります。
応用プログラムで実行するSQL文が決定している場合は、通常のデータ操作のSQL文(動的SQL文以外のSQL文)を応用プログラム中に埋め込んで利用します。応用プログラムの実行中にSQL文を動的に実行する場合は、動的SQL文を応用プログラム中に埋め込んで利用します。
SQL埋込みホストプログラムは、マルチスレッド環境で実行できません。
応用プログラムは、ホスト言語のプログラム中にSQL文を埋め込んで記述します。このようなプログラムをSQL埋込みホストプログラムと呼びます。ホスト言語には、C言語およびCOBOL言語があります。応用プログラムのコーディング方法については、“SQL埋込みCプログラムの作成方法”および“SQL埋込みCOBOLプログラムの作成方法”で説明します。
SQL埋込みホストプログラムを翻訳するためには、利用者依存の翻訳環境を作成し、この上で翻訳処理を行います。
翻訳環境と、翻訳および結合編集の方法については、“応用プログラムの翻訳・結合編集の流れ”で説明します。
応用プログラムの翻訳と結合編集が完了すると、実際に実行してデバッグを行い、意図した動作が行われることを確認します。
実行のためには、データ操作のSQL文で指定されている表に対して、表のDSIの定義およびDSIの初期化が完了している必要があります。表のDSIの定義およびDSIの初期化については、“RDBユーザーズガイド データベース定義編”を参照してください。
通常は、動作を確認するために必要なデータの創成を完了してから実行します。応用プログラムを実行するための実行方法については、“応用プログラムの実行”で説明します。また、応用プログラムのデバッグ方法については、“応用プログラムのデバッグ”で説明します。
応用プログラムの開発作業にあたり、取り扱う文字コード系に関する以下の注意事項があります。
Symfoware/RDBでは、以下の文字コード系が使用できます。
データベースの文字コード系がシフトJISコードの場合、列のデータ型に各国語文字列型(NCHAR)を使用することはできません。ただし、文字列型(CHAR)に各国語文字のデータを格納することはできます。
応用プログラムの翻訳から実行までは、同じ文字コード系を使用する必要があります。
応用プログラムの文字コード系とデータベースの文字コード系は、表:文字コード系の組合せのように同一にすることをお勧めします。文字コード系が異なると、データベースへのデータの格納時または取り出し時にコード変換が発生し、処理が遅くなることがあります。
データベースの文字コード系 |
応用プログラムの文字コード系(注) |
|
---|---|---|
EUCコード |
シフトJISコード |
|
EUCコード |
◎ |
△ |
シフトJISコード |
△ |
◎ |
◎: 推奨。
△: コード変換が発生し、処理が遅くなることがあります。
注) 応用プログラムの文字コード系とは、SQL文およびホスト変数へ入出力するデータの文字コードです。
目次
索引
![]() ![]() |