
DB2_free_stmt 함수는 DB2 커넥션을 닫고 리소스를 해제하는 역할을 합니다.
DB2_free_stmt 함수를 사용하는 경우는 다음과 같습니다.
- 커넥션을 사용한 후에, 커넥션을 다시 사용할 예정이 없는 경우에 사용합니다.
- 커넥션을 사용한 후에, 커넥션을 닫고 리소스를 해제하고 싶은 경우에 사용합니다.
DB2_free_stmt 함수를 사용하지 않는 경우는 다음과 같습니다.
- 커넥션을 사용한 후에, 커넥션을 다시 사용할 예정이 있는 경우에 사용하지 않습니다.
- 커넥션을 사용한 후에, 커넥션을 닫지 않고 리소스를 유지하고 싶은 경우에 사용하지 않습니다.
DB2_free_stmt 함수를 사용하는 예시는 다음과 같습니다.
#hostingforum.kr
c
#include
#include
int main() {
SQLHDBC hdbc;
SQLHSTMT hstmt;
SQLRETURN retcode;
// DB2 커넥션을 열기
retcode = SQLAllocHandle(SQL_HANDLE_DBC, SQL_NULL_HANDLE, &hdbc);
if (retcode != SQL_SUCCESS) {
// 오류 처리
}
// DB2 커넥션을 사용하기
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
if (retcode != SQL_SUCCESS) {
// 오류 처리
}
// DB2_free_stmt 함수를 사용하기
retcode = SQLFreeStmt(hstmt, SQL_CLOSE);
if (retcode != SQL_SUCCESS) {
// 오류 처리
}
// DB2 커넥션을 닫기
retcode = SQLDisconnect(hdbc);
if (retcode != SQL_SUCCESS) {
// 오류 처리
}
// DB2 커넥션을 해제하기
retcode = SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
if (retcode != SQL_SUCCESS) {
// 오류 처리
}
return 0;
}
DB2_free_stmt 함수를 사용하지 않는 예시는 다음과 같습니다.
#hostingforum.kr
c
#include
#include
int main() {
SQLHDBC hdbc;
SQLHSTMT hstmt;
SQLRETURN retcode;
// DB2 커넥션을 열기
retcode = SQLAllocHandle(SQL_HANDLE_DBC, SQL_NULL_HANDLE, &hdbc);
if (retcode != SQL_SUCCESS) {
// 오류 처리
}
// DB2 커넥션을 사용하기
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
if (retcode != SQL_SUCCESS) {
// 오류 처리
}
// DB2_free_stmt 함수를 사용하지 않기
// retcode = SQLFreeStmt(hstmt, SQL_CLOSE);
// DB2 커넥션을 닫기
retcode = SQLDisconnect(hdbc);
if (retcode != SQL_SUCCESS) {
// 오류 처리
}
// DB2 커넥션을 해제하기
retcode = SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
if (retcode != SQL_SUCCESS) {
// 오류 처리
}
return 0;
}
2025-06-14 10:27