Udostępnij za pośrednictwem


Jak Proces błędy ODBC (ODBC)

Dwa wywołania funkcja ODBC można użyć w celu pobrania wiadomości ODBC: SQLGetDiagRec and SQLGetDiagField. Aby uzyskać podstawowe informacje związane z ODBC w SQLState, pfNative, and ErrorMessage pola diagnostycznych, wywołaj SQLGetDiagRec aż zwraca SQL_NO_DATA.Dla każdego rekordu diagnostycznych, SQLGetDiagField może zostać wywołana w celu pobrania poszczególnych pól. Wszystkie pola zależne od sterownika musi być pobrana za pomocą SQLGetDiagField.

SQLGetDiagRecand SQLGetDiagField są przetwarzane przez Menedżera sterowników ODBC, nie indywidualnych sterownika. Menedżera sterowników ODBC nie buforuje diagnostyczne pola zależne od sterownika, dopóki nie zostało ustanowione połączenie powiodło się.Wywołanie SQLGetDiagField w przypadku pól diagnostyczne specyficzne dla sterownika nie jest możliwe przed pomyślnego połączenia. Obejmuje to polecenia połączenie ODBC, nawet jeśli zwracały SQL_SUCCESS_WITH_INFO.Specyficzne dla sterownika diagnostyczne pól nie są dostępne do momentu wywołania funkcja ODBC następnej.

Uwagi

Zakończenie próbki jest dostępna, pokazuje obsługi prostego błąd, który wywołuje SQLGetDiagRec standardowych informacji ODBC.Następnie sprawdza na prawidłowe połączenie, a jeśli taki istnieje, wywołuje SQLGetDiagField w przypadku pól diagnostyczne specyficzne dla sterownika ODBC dla programu SQL Server.

Zakończenie przykładowy kod znajduje się w pliku, ProcessODBCErrors.cpp, których można pobrać z Pliki do pobrania program SQL Server strona w witrynie MSDN.Ten przykład został utworzony za pomocą programu Microsoft Visual C++ 2005, opracowany dla ODBC w wersja 3.0 lub nowszej.

Security noteSecurity Note:

Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.Jeśli uwierzytelnianie systemu Windows nie jest dostępne, monitu użytkowników o wprowadzenie poświadczenia w czasie wykonywania.Należy unikać przechowywania poświadczenia w pliku.Jeśli muszą przetrwać poświadczenia, należy je z zaszyfrować Win32 crypto API.