
OCI_unregister_taf_callback 함수는 OCI TAF 콜백을 해제하는 함수입니다.
해당 함수는 다음과 같은 파라미터를 필요로 합니다.
- hnd: OCI 핸들
- callback: 해제할 콜백 함수의 주소
해당 함수는 다음과 같은 반환값을 반환합니다.
- OCI_SUCCESS: 성공
- OCI_ERROR: 실패
해당 함수를 호출한 후 콜백이 실제로 해제되는지 확인하는 방법은 다음과 같습니다.
- OCI 핸들을 닫고, 콜백 함수를 호출하여 결과를 확인합니다.
- 콜백 함수가 호출되지 않는지 확인합니다.
해당 함수가 성공적으로 호출되었는지 확인하는 방법은 다음과 같습니다.
- 반환값을 확인합니다. 성공인 경우 OCI_SUCCESS를 반환합니다.
- 콜백이 실제로 해제되었는지 확인합니다.
해당 함수는 OCI TAF 콜백을 등록한 후에 호출해야 합니다. 예외 상황은 다음과 같습니다.
- OCI 핸들이 유효하지 않은 경우
- 콜백 함수가 유효하지 않은 경우
해당 함수를 호출하는 예제는 다음과 같습니다.
#hostingforum.kr
c
OCIError *errhp;
OCISvcCtx *svchp;
OCIStmt *stmthp;
OCIEnv *envhp;
// OCI 핸들을 열고, 서비스 컨텍스트를 열기
errhp = OCIEnvCreate((dvoid *)0, OCI_DEFAULT, (dvoid *)0, (dvoid *)0, (dvoid *)0, (dvoid *)0, (dvoid *)0, (dvoid *)0);
svchp = OCILogon(envhp, errhp, (const OraText *)"username", (const OraText *)"password", (const OraText *)"ORACLE_SID");
// OCI TAF 콜백을 등록하기
errhp = OCITAFRegisterCallback(envhp, errhp, (OCITAFCallback)my_callback, (dvoid *)my_arg);
// OCI TAF 콜백을 해제하기
errhp = OCI_unregister_taf_callback(envhp, errhp, (OCITAFCallback)my_callback);
// OCI 핸들을 닫기
OCILogoff(svchp, errhp);
OCIHandleFree((dvoid *)svchp, errhp);
OCIHandleFree((dvoid *)errhp, errhp);
위 예제는 OCI TAF 콜백을 등록하고 해제하는 과정을 보여줍니다. OCI TAF 콜백을 등록한 후에 OCI_unregister_taf_callback 함수를 호출하여 콜백을 해제합니다.
2025-04-20 09:11