Ani*_*yik 9 c# oledb oledbconnection
我正在使用Windows窗体应用程序将数据导出到Excel.
应用程序是x64和x86构建的.
因此,必须安装两个版本的Microsoft Access数据库引擎才能在同一台计算机上运行该应用程序.
首先安装AccessDatabaseEngine.exe,并且AccessDatabaseEngine_x64.exe被动安装.
x64版本的应用程序正在运行
但x86版本正在增加
SEHException: "External component has thrown an exception."
at System.Data.Common.UnsafeNativeMethods.IDBInitializeInitialize.Invoke(IntPtr pThis)
at System.Data.OleDb.DataSourceWrapper.InitializeAndCreateSession(OleDbConnectionString constr, SessionWrapper& sessionWrapper)
at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OleDb.OleDbConnection.Open()
Run Code Online (Sandbox Code Playgroud)
代码部分如下;
var accessConnection = new OleDbConnection(connectionString);
accessConnection.Open();
Run Code Online (Sandbox Code Playgroud)
而ConnectionString是
Provider=Microsoft.ACE.OLEDB.12.0;Data Source="C:\Users\Me\Desktop\ExportTest.xls";Extended Properties="Excel 8.0;HDR=Yes";
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
当Visual Studio中的构建配置平台不正确时,通常会发生这种情况,在x86和x64两种构建配置平台中都可能发生。
这是由于项目的生成配置平台与计算机上安装的Microsoft Access数据库引擎之间不匹配。
为了解决此错误: