2010-12-02 87 views
0

我有幾個Advantage Extended Procedures在.NET中編寫並運行在我的高級數據庫服務器上。在我第一次調用SP之後,.NET程序集就被鎖定了。我需要用新版本更新程序集。到目前爲止我發現的唯一途徑 - 重啓ADS。這絕對不舒服。是否有其他方式來解鎖我的程序集?高級數據庫服務器:熱替換.NET Advantage擴展過程

+3

AEP?!?!除了我之外,每個人都清楚嗎? – 2010-12-02 15:50:57

+0

是AEP的意思是「優勢擴展程序」? – 2010-12-02 16:22:35

回答

1

對Advantage Advantage Procedure(AEP)進行測試/調試的最簡單方法是使用Advantage Local Server(ALS),它將在您每次運行測試應用程序時加載並在測試應用程序終止時卸載。

使用Advantage Database Server(ADS)時,您必須確保使用存儲過程的任何客戶端都已斷開連接。 Advantage將DLL保存在內存中,直到所有使用存儲過程的連接都關閉。如果您異常終止您的測試應用程序,服務器不知道該應用程序已關閉。如果客戶端在客戶端超時設置內沒有響應,連接將被服務器清除,默認爲兩分鐘。

您還可以使用/ EXE開關作爲調試的一部分,將ADS作爲可執行文件啓動。這可以在您調試AEP時自動啓動和停止ADS。但是,使用此方法時,您需要單獨啓動測試應用程序。

此外,您應通過在調試AEP之前調用ADS_DD_DISABLE_DLL_CACHING系統過程來禁用DLL Caching。默認情況下,ADS會生成包含存儲過程的DLL的副本,並在訪問DLL時檢查更新的版本。禁用此功能可確保您始終使用最新版本的DLL。

相關問題