有一個使用.NET Framework 3.5以C#編寫的WinForms應用程序。此應用程序使用其使用下面的聲明導入的C++ DLL:從給定的ODBC的DSN使用SQL Server數據庫從託管代碼調用時,C++ DLL崩潰
[DllImport(DllName)]
public static unsafe extern int LoadDBData(String dsn, String userid, String password);
這種方法導入數據。當數據庫中的數據太多時,調用會崩潰。這個extern dll的提供者說這是因爲dll無法獲取更多的堆大小,我的應用程序應該提供更多的堆內存。
我該如何解決這個問題?據我所知,從自動垃圾收集中排除組件的唯一可能性是我已經使用的不安全關鍵字。 任何想法,將不勝感激。
在此先感謝
馬丁
我也認爲這是供應商的庫問題。但是,由於我主要以託管代碼開發,供應商使他的意見不安。 但我試圖從excel makro調用庫,它也崩潰了。所以我相信這不是我在C#中調用的問題。 –