Опросы
Активных опросов на данный момент нет.
Счетчики
Rambler's Top100





Яндекс цитирования


Rambler's Top100
А  Б  В  Г  Д  Е  Ж  З  И  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц  Ч  Ш  Щ  Э  Ю  Я
0-9  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z
Страниц: << < 1 2 3 4 5

  Этот документ объясняет отображение информации в IBAnalyst в разделе "Общая информация", и поясняет, как ее интерпретировать. Также мы добавили в дистрибутив IBAnalyst несколько примеров, чтобы можно было понять соотношение транзакций и сравнить их с информацией в вашей базе данных.

  Начнем с того, что буквальный перевод слова deadlock означает "мертвая блокировка". При работе с BDE (Delphi, C++Builder, ...) с клиентской части и в IB Database с триггерами и хранимыми процедурами мы имеем два случа появления сообщения deadlock - при чтении и при обновлении. До действительно "мертвого" блокирования дело не доходит, поскольку IB SQL Link стартует любую транзакцию с параметром NO WAIT (т.е. не ожидать разрешения конфликта).

  Так что же такое sweep, и почему когда он запускается в автоматическом режиме, он начинает тормозить работу? Для тех, кто только знакомится с сервером это выглядит как периодические "тормоза", которые неожиданно появляются, длятся некоторое время (до пары часов), и так же неожиданно исчезают, причем независимо от текущей нагрузки (количества коннектов и запросов, которые в них выполняются).

  Сам по себе компонент был бы не страшен и даже удобен, проблема состоит в том, что в клиентской библиотеке gds32.dll от Борланд с незапамятных времен имеется баг оптимизации выполнения вызова API isc_dsql_ute2, состоящий в том, что информация о выходных параметрах хранимой процедуры после первого же её вызова теряется и, если в рамках одной транзакции выполняется несколько процедур, то зона памяти, выделенная под эти параметры, может использоваться неправильно. В результате возникают исключения различных типов - Access Violation in gds32 или несколько типов исключений с невразумительными сообщениями, имеющими общность в том, что все они говорят о неправильном XSQLDA.

  Данная хранимя процедура, проверяет, является ли строка, переданная в качестве параметра числом:

Страниц: << < 1 2 3 4 5
 
 
© 2018