ESQL/C에서 C/C++ 응용프로그램의 ODBC API 마이그레이션
ESQL/C란 무엇인가?
Embedded SQL (ESQL/C)는 SQL 데이터베이스 액세스를 위한 SQL-92 표준 애플리케이션 프로그래밍 인터페이스(API) 입니다. 마이크로소프트 SQL Server 2000은 C/C++ 애플리케이션을 위한 Embedded SQL 프리 컴파일러(precompiler)를 제공합니다. SQL Server 프리 컴파일러는 해당 DB-라이브러리 API 함수에 대한 호출이 포함된 SQL 문을 변환합니다.
왜 마이그레이션 하는가?
- ESQL API에 대한 기술 문서의 사용 불가능
- 마이크로소프트는 앞으로의 SQL Server 릴리즈에서 ESQL/C를 취소하겠다고 발표
- 마이크로소프트는 기존의 C/C++ 응용 프로그램 내에 존재하는 ESQL/C에 대한 종속성을 제거하면서 SQL Server의 OLE DB 또는 ODBC 액세스 데이터 사용을 장려
변환 기능
Ispirer MnMTK는 다음과 같은 변환 가능을 자동화 합니다:
- ODBC API 함수 및 구조와 관련된 파일을 인클루드(include)에 추가:
- #include <windows.h>
- #include <sqlext.h> ("sql.h"과 "sqltypes.h"는 자동으로 include)
- ESQL/C 데이터베이스 연결 변환 - EXEC SQL CONNECT TO에서 ODBC connection처럼 변환:
- 환경 핸들(environment handle)을 할당
- 커넥션 핸들(connection handle)을 할당
- 함수를 사용하여 커넥션을 설정:
- SQLConnect()
- SQLDriverConnect()
- SQLBrowseConnect()
- ESQL/C 에러 핸들링(Error Handling) 변환 - SQLCODE 변수와 SQLCA 구조에서 ODBC 에러 핸들링 - 함수 SQLGetDiagRec()
- 데이터를 조작하기 위한 명령인 ESQL/C EXEC SQL문을 ODBC API 함수로 변환:
- SQLPrepare()
- SQLExecute()
- SQLBindParameter()
- SQLFetch()
- Etc.
어떻게 변환하는가?
이와 관련된 글을 확인하세요:
Embedded SQL and Database Access API Migration
SQLWays Studio를 사용하시려면, 다음과 같은 설정이 필요합니다:
소스: C++ 소스 데이터베이스: Microsoft SQL Server 소스 데이터베이스 API: ESQLC
위의 소스를 아래와 같이 변경
타겟: C++ 타겟 데이터베이스 : Microsoft SQL Server 타겟 데이터베이스 API: ODBC
Ispirer MnMTK는 Embedded SQL (ESQL/C)에서 ODBC API로의 전체 마이그레이션을 자동화 합니다. Ispirer MnMTK를 활용하면 마이그레이션과 관련된 대부분의 위험을 제거함과 동시에 내부 노력을 상당 부분 줄일 수 있습니다. 합리적인 가격 전략을 제공하는 Ispirer MnMTK는 각 마이그레이션 유형에 대한 강력한 장비입니다.
추가 질문이 있으면 언제든지 contact us.
|