我正在尝试使用C#代码连接REST API / Webmethods中的网络/共享驱动器中可用的ms访问db(mdb / accdb文件)。如果我使用控制台应用程序但是如果在Rest API中使用则抛出连接错误,即使用Rest API(VS 2013)进行调用,相同的代码工作正常。
例外:
System.Runtime.InteropServices.SEHException (0x80004005): External component has thrown an exception.
System.Runtime.InteropServices.SEHException was unhandled by user code
HResult=-2147467259
Message=External component has thrown an exception.
Source=System.Data
ErrorCode=-2147467259
代码:
string connectionString = @"Provider=Microsoft.ACE.OLEDB.12;" + @"Data Source=\\network folder\Shared\filesecure.mdb;Jet OLEDB:Database Password=somepassword;Persist Security Info=true;";
using (OleDbConnection oledbConnection = new OleDbConnection(connectionString))
{
connection.Open(); // Getting exception here
}
任何帮助将不胜感激。
答案 0 :(得分:0)
我在上述回复的帮助下解决了这个问题
服务正在运行x64位,需要安装AccessDatabaseEngine_x64.exe驱动程序。我的机器上有32位的办公室。
其他步骤
一个。首先从HKLM \ SOFTWARE \ Microsoft \ Office \ 14.0 \ Common \ FilesPaths
中的注册表中删除mso.dll条目湾使用命令提示符从您的设置位置
安装AccessDatabaseEngine_x64.exe / passive / quiet