Белешка
Приступ овој страници захтева ауторизацију. Можете покушати да се пријавите или промените директоријуме.
Приступ овој страници захтева ауторизацију. Можете покушати да промените директоријуме.
Белешка
Интересне групе заједнице сада су прешле са Иаммер-а на < ДИЦТ__Мицрософт ⚐ Вива ⚐ Енгаге > Мицрософт Вива Енгаге . Да бисте се придружили < ДИЦТ__Вива ⚐ Енгаге > Вива Енгаге заједници и учествовали у најновијим дискусијама, попуните образац &лт;c0&гт;Захтев за приступ финансијама и операцијама < ДИЦТ__Вива ⚐ Енгаге > Вива Енгаге заједници&лт;/c0&гт; и изаберите заједницу којој желите да се придружите.
Овај чланак описује типове изузетака грешака СКЛ везе у Кс + +.
ТрансиентСqлЦоннецтионЕррор Кс + + изузетак
Током извршења Кс + + СКЛ упита, када се на страни сервера појави пролазна грешка СКЛ везе, јавља се изузетак ТрансиентСклЦоннецтионЕррор Кс + +. У зависности од захтева апликације, апликација треба да ухвати и обради изузетак.
Овај изузетак се обично јавља током велике трансакције или када је база података под великим притиском обраде.
Не можете ухватити изузетак ТрансиентСqлЦоннецтионЕррор унутар трансакције. Кс + + трансакција која наиђе на овај изузетак је отказана (позивајући ттсАборт ) пре него што дође до изузетка. Ово понашање значи да морате да користите блок улова да бисте идентификовали пролазну грешку СКЛ везе уместо генеричког изузетка грешке Кс + +. Затим поновите најудаљенију трансакцију или поновите логику кода апликације у новој сесији. Овај изузетак омогућава да апликација буде дизајнирана за пролазне кварове сервера.
Ако трансакција апликације траје дуго времена за обраду, користите више инкременталних кашњења да бисте ухватили изузетак ТрансиентСклЦоннецтионЕррор. Понављање кода апликације у новој сесији највероватније ће успети након што ухватите изузетак.
Пример
public static void LargeTransactionWrapper()
{
try
{
LargeTransaction();
}
catch (Exception::TransientSqlConnectionError)
{
info("Caught transient SQL connection error, ttslevel=" + int2Str(appl.ttsLevel()));
// At this point, transaction is canceled
// Code that indicates retry is possible
}
finally
{
// Do clean up
}
}