Расширенный сервер баз данных: горячая замена расширенных процедур .NET Advantage - PullRequest
0 голосов
/ 02 декабря 2010

У меня есть несколько расширенных процедур Advantage , написанных в .NET и работающих на моем сервере Advanced DatabaseСразу после первого вызова SP сборка .NET блокируется.Мне нужно обновить сборку новой версией.Единственный выход до этого момента я нашел - перезапуск ADS.Это абсолютно неудобно.Есть ли другой способ разблокировать мою сборку?

1 Ответ

1 голос
/ 02 декабря 2010

Самый простой способ проверить / отладить расширенную процедуру Advantage (AEP) - это использовать Advantage Local Server (ALS), который будет загружаться каждый раз, когда вы запускаете тестовое приложение, и выгружаться, когда тестовое приложение завершается.

При использовании Advantage Database Server (ADS) вы должны убедиться, что все клиенты, использующие хранимую процедуру, отключены.Advantage сохраняет DLL в памяти до тех пор, пока все соединения, которые использовали хранимую процедуру, не будут закрыты.Если вы прервете тестовое приложение ненормально, сервер не будет знать, что приложение закрыто.Соединение будет очищено сервером, если клиент не отвечает в рамках настройки тайм-аута клиента, по умолчанию установлено две минуты.

Вы также можете запустить ADS как исполняемый файл, используя ключ / EXE как часть вашегоотладки.Это может автоматически запускать и останавливать ADS при отладке AEP.Однако при использовании этого метода вам нужно будет запустить тестовое приложение отдельно.

Кроме того, вы должны отключить Кэширование DLL , вызвав системную процедуру ADS_DD_DISABLE_DLL_CACHING перед отладкой AEP.По умолчанию ADS создает копию библиотеки DLL, содержащей ваши хранимые процедуры, и проверяет наличие новых версий при обращении к библиотеке DLL.Отключение этой функции гарантирует, что вы всегда используете последнюю версию DLL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...