ADODB 사용시 상세 에러 메시지는 _com_error 에 없고
커넥션 객체의 Errors 에서 가져와서 봐야 하는데
mssql 은 SqlState를 보면 되고
oracle은 GetNativeError() 를 보면 됨.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms675284(v=vs.85).aspx 샘플 발췌
void PrintProviderError(_ConnectionPtr pConnection) {
// Print Provider Errors from Connection object.
// pErr is a record object in the Connection's Error collection.
ErrorPtr pErr = NULL;
if ( (pConnection->Errors->Count) > 0) {
long nCount = pConnection->Errors->Count;
// Collection ranges from 0 to nCount -1.
for ( long i = 0 ; i < nCount ; i++) {
pErr = pConnection->Errors->GetItem(i);
printf("Error number: %x\t%s\n", pErr->Number, (LPCSTR) pErr->Description);
}
}
}
//oracle : long native_error = err->GetNativeError(); // 12571면 연결 못하는 에러
//mssql : string sql_state = err->GetSQLState(); //"08S01"면 연결 못하는 에러
'C++' 카테고리의 다른 글
bit 출력 (0) | 2013.03.22 |
---|---|
qt 4.8.4 컴파일 (0) | 2013.03.22 |
visual studio 2005 서비스팩 설치하기 (0) | 2013.03.21 |
QT 그래프(chart 또는 plot) 라이브러리 (0) | 2013.03.19 |
ETW (event tracing on windows0 (0) | 2013.03.14 |
MFC 콘솔 출력 (0) | 2013.03.08 |
.map 파일과 .cod 파일 분석하기 (0) | 2013.02.25 |
덤프 안남는 경우 (0) | 2013.02.25 |