Oracle Pro*CからECPGへの変換
OracleプリコンパイラやECPGは高水準言語のソースプログラムでSQLを埋め込むためのプログラミングツールです。
Oracle Pro*CとECPGのステートメントは似ていますが以下の様な若干の差異があります:
- SQL ファンクション
- マルチスレッドで動作
- ホスト変数の使用
- ヘッダファイル等
変換機能
Ispirer Toolkitは自動的に EXEC SQLステートメント とホスト変数を検出し、変換を行うとともに必要なコードを追加します。
Oracle Pro*Cの例 (file: simple.pc):
void simple_func (int id)
{
int check_id = 0;
EXEC SQL
SELECT NVL(ID, 0)
INTO :check_id
FROM customer
WHERE SET_ID = :id;
}
変換後simple.pcファイルはsimple.pgcに変換されます(ECPGプリコンパイラ用ファイル)
EXEC SQL INCLUDE simple.pgh;
void simple_func(int id)
{
EXEC SQL int check_id = 0;
EXEC SQL
SELECT coalesce(ID,0)
INTO :check_id
FROM customer
WHERE SET_ID = :id;
}
これは、EXEC SQLステートメントの変換例です。ホスト変数宣言はEXEC SQL ステートメントに変換されていることに注意してください。またSQLWaysツールはsimple.pghファイル(simple.pgc 用のヘッダファイル)を作成し、EXEC SQL INCLUDE ステートメントを追加しています。
Simple.pgh ファイルには、simple_function用の変数を宣言する EXEC SQL ステートメント が含まれています。
以下はひとつの宣言ステートメントがある例です:
EXEC SQL int id;
以下の質問表にご記入いただければ、お客様のプロジェクトに関する質疑応答や概算のお見積りをお出しする事ができます:
Ispirer Toolkit変換ソフトウェアの試用版をご希望の場合は、デモ版のリクエストからお問い合わせください。価格について知りたい場合は、見積り依頼からお問い合わせください。
詳細はお問い合わせください。
|