2011-03-16 49 views
0

我使用Sybase.Data.ASEClient命名空間從我的asp.net應用程序連接到Sybase DB。隨着App最近的產品發佈,我們在DatabaseHelper類中包含了一個代碼,它只是試圖執行ExecuteNonQuery()。在生產線中,說command.ExecuteNonQuery(),拋出一個異常,說.net sybase executenonquery exception

「嘗試讀取或寫入受保護的內存,這通常表示其他內存已損壞。

但是這並不一致。該應用程序正常工作4天,並在第五天,我們突然得到這個錯誤的用戶,然後沒有人能夠使用該應用程序時,試圖使用涉及數據庫訪問功能。

我也google了一下,才知道Sybase.Data.ASEClient有一些內存泄漏問題。但是沒有關於它是否得到修復的信息。

任何人都可以對此有所瞭解嗎?您在之前的項目中遇到過這些問題嗎?有沒有辦法以任何方式找出問題?

回答

1

這聽起來像是Sybase驅動程序中的一個錯誤。

我會嘗試從Sybase和/或更新版本的驅動程序獲得支持。谷歌並不像Sybase支持那樣有幫助,因爲我相信你需要註冊才能訪問Sybase網站上的這類信息。關於內存泄漏,我記得在過去的2006年,Sybase驅動程序1.1.465.0有內存泄漏 - 這在1.1.516.0中修復了。這些都是Sybase 12的驅動程序,從那時起,事情自然就演變了很長時間。

+0

當託管應用程序的IIS被重新啓動時,那麼命中executenonquery()的功能就可以正常工作。我已在Sybase註冊。我需要一個證明來證明我的客戶端,它純粹是Sybase.ASE.Client DLL中的一個錯誤,與代碼修復無關。感謝您的指導。將更新你。 – SARAVAN 2011-03-16 11:35:19

+0

我會考慮用Sybase.AdoNet2.AseClient.dll v1.15.335.0或更高版本替換當前的驅動程序。這是一個ADO.NET 2驅動程序(即支持DbProviderFactory),AFAIK與Sybase V12和V15數據庫兼容。 – Joe 2011-03-17 06:37:38