C/C++アプリケーションの ESQL/C から ODBC API への移行
ESQL/Cとはなにか
Embedded SQL for C(ESQL/C) は SQL-92 標準のSQLデータベースアクセスのアプリケーションプログラミングインターフェイス (API) です。 Microsoft SQL Server 2000 ではC/C++アプリケーション向けの埋め込みSQLプリコンパイラが提供されています。SQL Server のプリコンパイラは埋め込みSQL文から対応するDBライブラリAPI関数への翻訳を行います。
なぜ移行すべきなのか
- ESQL APIのテクニカルドキュメントの不足
- マイクロソフトは以降のSQL ServerにてESQL/Cの提供の取りやめをアナウンス
- マイクロソフトは既存のC/C++アプリケーションのESQL/C実装を止め、SQL ServerのデータアクセスにはOLE DBやODBCを使用する事を推奨
変換の特徴
Ispirer MnMTK は以下の変換処理を自動的に行います
- ODBC APIや構造体定義のインクルードファイル宣言を追加
- #include <windows.h>
- #include <sqlext.h> (自動的に"sql.h" および "sqltypes.h"を追加)
- ESQL/C データベース接続部分 - EXEC SQL CONNECT TO を ODBC 接続に変換
- Allocates environment handle
- Allocate connection handle
- 以下の関数を実行しコネクションを確立
- SQLConnect()
- SQLDriverConnect()
- SQLBrowseConnect()
- ESQL/C エラー処理 - SQLCODE 変数および SQLCA 構造体 を ODBC エラー処理 - SQLGetDiagRec()関数に変換
- データ処理を行うESQL/C EXEC SQL ステートメントを対応する ODBC API 関数に変更
- SQLPrepare()
- SQLExecute()
- SQLBindParameter()
- SQLFetch()
- など
どのように変換するのか
以下の関連記事を参照してください
埋め込みSQL とデータベースアクセスAPIの移行
もしお客様が SQLWays Studioをお使いなら、以下の様な設定が必要です
ソース: C++ ソースデータベース: Microsoft SQL Server ソースデータベースAPI: ESQLC
から
ターゲット: C++ ターゲットデータベース: Microsoft SQL Server ターゲットデータベースAPI: ODBC
Ispirer MnMTK は埋め込みSQL(ESQL/C)からODBC APIへの移行作業全体を自動化し、移行作業に伴うリスクと必要となる内部作業を大幅に削減することができます。お手頃な価格である Ispirer MnMTK はこのような移行プロジェクトにとってとても魅力的な製品です。
詳細はお問い合わせください。
|