有一个使用.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#中调用的问题。 –