.net sybase executenonquery исключение

Я подключаюсь к базе данных Sybase из моего приложения asp.net, используя пространство имен Sybase.Data.ASEClient. В недавнем производственном выпуске приложения мы включили код в класс DatabaseHelper, который просто пытается выполнить ExecuteNonQuery (). В процессе производства строка, в которой написано command.ExecuteNonQuery (), генерировала исключение, в котором говорилось

«Попытка чтения или записи в защищенную память. Часто это указывает на повреждение другой памяти».

Но это происходит не постоянно. Приложение работает нормально в течение 4 дней, а на пятый день мы внезапно получаем эту ошибку для пользователя, а затем никто другой не смог использовать приложение при попытке использовать функциональные возможности, связанные с доступом к базе данных.

Я также погуглил и узнал, что Sybase.Data.ASEClient имеет некоторые проблемы с утечкой памяти. Но нет информации о том, исправили это или нет.

Может ли кто-нибудь пролить свет на это? сталкивались ли вы с такими проблемами в своих предыдущих проектах? И есть ли способ каким-либо образом разобраться в проблеме?


person SARAVAN    schedule 16.03.2011    source источник


Ответы (1)


Это определенно похоже на ошибку в драйвере Sybase.

Я бы попытался получить поддержку от Sybase и / или более свежей версии драйвера. Google не так полезен, как мог бы быть для поддержки Sybase, поскольку я считаю, что вам нужно зарегистрироваться, чтобы получить доступ к такой информации на веб-сайте Sybase.

Что касается утечек памяти, я помню, что в прошлом (2006 г.) драйвер Sybase 1.1.465.0 имел утечки памяти - это было исправлено в 1.1.516.0. Это были драйверы для Sybase 12, и с тех пор, конечно, многое изменилось.

person Joe    schedule 16.03.2011
comment
Когда IIS, на котором размещено приложение, был перезапущен, с этого момента функциональность, запускающая executenonquery (), работает нормально. Я зарегистрировался в Sybase. Мне нужно доказательство, чтобы доказать моим клиентам, что это чисто ошибка в Sybase.ASE.Client dll и не имеет ничего общего с исправлением кода. Спасибо за ваше направление. Буду обновлять u. - person SARAVAN; 16.03.2011
comment
Я бы подумал о замене вашего текущего драйвера на Sybase.AdoNet2.AseClient.dll v1.15.335.0 или новее. Это драйвер ADO.NET 2 (т.е. поддерживает DbProviderFactory), который AFAIK совместим как с базами данных Sybase V12, так и с V15. - person Joe; 17.03.2011