
ODBC_GetTypeInfo 함수는 데이터베이스의 데이터 타입 정보를 가져오는 함수입니다. 이 함수는 다음과 같은 파라미터를 받습니다.
- szName: 데이터베이스의 데이터 타입 이름을 저장할 문자열 변수
- cbMaxName: szName 변수의 최대 크기
- pcbName: szName 변수의 실제 크기
- type: 데이터 타입 정보를 저장할 구조체
이 함수는 다음과 같은 값을 반환합니다.
- 성공 시 0, 실패 시 오류 코드
사용하는 방법은 다음과 같습니다.
1. szName 변수를 선언하고 cbMaxName 변수를 초기화합니다.
2. ODBC_GetTypeInfo 함수를 호출하여 데이터베이스의 데이터 타입 정보를 가져옵니다.
3. pcbName 변수를 통해 szName 변수의 실제 크기를 확인합니다.
4. type 변수를 통해 데이터 타입 정보를 확인합니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
#include
#include
#include
int main() {
SQLHENV henv;
SQLHDBC hdbc;
SQLHSTMT hstmt;
SQLLEN pcbName;
SQLSMALLINT cbMaxName = 256;
char szName[256];
SQLSMALLINT type;
// ODBC 연결
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0);
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
SQLConnect(hdbc, "DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;DATABASE=mydb;UID=myuser;PWD=mypassword", SQL_NTS);
// ODBC_GetTypeInfo 함수 호출
SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
SQLGetTypeInfo(hstmt, SQL_TYPE_TIMESTAMP, &pcbName, szName, cbMaxName);
printf("데이터 타입 이름: %sn", szName);
printf("데이터 타입 코드: %dn", type);
// ODBC 해제
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 0;
}
이 예제에서는 ODBC 연결을 설정하고, ODBC_GetTypeInfo 함수를 호출하여 데이터베이스의 데이터 타입 정보를 가져옵니다. 가져온 데이터 타입 이름과 코드를 출력합니다.
2025-07-10 14:51