ПредишенСледващото

среда за диагностика запис, свързана с ODBC, съединение или инструкция указател ЕВРОВОК. Когато някоя функция ODBC връща код на връщане, освен SQL_SUCCESS или SQL_INVALID_HANDLE, дръжка, обадете се на функция е свързана диагностични записи, които съдържат информационни съобщения или съобщения за грешки. Тези записи се съхраняват толкова дълго, колкото с този етикет ще призове друга функция в този момент се анулират записи. Няма ограничение за броя на диагностичните досиета, свързани с дескриптора.

Има два вида диагностични записи: глава и статус. Записът глава е номериран 0; ако е налице състояние на записа, те са номерирани от 1 г. насам. Диагностични записи съдържат различни полета за хедър рекорд и записа състояние. ODBC компоненти могат също така да определят собствената си сфера на диагностични записи.

Полетата в заглавната рекорд съдържа обща информация за изпълнението на функциите, включително кода на връщане, на броя на редовете, броя на държавните записи и вида на изпълняваните инструкции. Записът на заглавната винаги се създава освен функция за ODBC връща SQL_INVALID_HANDLE. Пълен списък на полета в заглавния запис см в. В раздел SQLGetDiagField.

Полетата в документите за състоянието съдържат информация за конкретни грешки и предупредителни съобщения, които се връщат от управителя на ODBC драйвер, водача или на източника на данните, включително стойността на SQLSTATE, брой собствена вина, диагностичната съобщението, номера на колона, както и броя подред. Записване статус са създадени само ако функцията връща SQL_ERROR, SQL_SUCCESS_WITH_INFO, SQL_NO_DATA, SQL_NEED_DATA или SQL_STILL_EXECUTING. Пълен списък на полета в регистрите на държавата, вижте. В раздел SQLGetDiagField.

SQLGetDiagRec функция се получава един запис за диагностика, заедно с нейната стойност ODBC SQLSTATE, собствен номер грешка и диагностични области. Тази функционалност е подобна на съществуващата функцията ODBC 2.x SQLERROR. А просто функция отстраняване на грешките в ODBC 3.x е повторно SQLGetDiagRec повикване. като се излиза от параметъра на референтната стойност RecNumber 1 след параметър RecNumber се увеличава с 1, докато функцията връща SQLGetDiagRec SQL_NO_DATA. Това е еквивалентно на повикване във функцията 2.x SQLERROR за кандидатстване ODBC, стига да не се връща SQL_NO_DATA_FOUND.

ODBC 3.x поддържа много по-диагностична информация от ODBC 2.x. Тази информация се съхранява в допълнителните полета в диагностични записи, получени чрез функцията SQLGetDiagField.

ODBC драйвер за SQL Server Native Client съдържа диагностични полета шофьор-специфични, които могат да бъдат достъпни с помощта на функцията SQLGetDiagField. Етикети за тези полета шофьор-специфични са определени в sqlncli.h файл. С помощта на тези тагове, можете да получите на състоянието на SQL Server, тежестта, номерът на името на сървъра, името на процедура и ред, свързани с всеки диагностичен запис. Също sqlncli.h файл определение съдържа кодове, които се използват за идентифициране инструкциите на водача Transact-SQL, ако молбата призовава функция SQLGetDiagField с предварително определена стойност за SQL_DIAG_DYNAMIC_FUNCTION_CODE параметъра DiagIdentifier.

SQLGetDiagField функция дръжки мениджърът на ODBC драйвери с помощта на информацията за грешката, кеширани с основната шофьора. ODBC драйвер диспечер не кешира диагностични области шофьор специфични преди да се осъществи успешна връзка. SQLGetDiagField функция връща SQL_ERROR, когато той е бил потърсен за диагностични области шофьор специфични преди една успешна връзка е завършена. Ако връзката за ODBC връща SQL_SUCCESS_WITH_INFO, диагностични полета шофьор специфични все още не са на разположение за функцията за връзка. SQLGetDiagField функция за специфична диагностика полета шофьор да се обадите след осъществяване на повикването и функция връзка, след като ODBC разговор към друга функция.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!