我正在尝试使用访问数据库为C#中的酒店预订系统创建登录名,不幸的是,我遇到了以下错误的问题;
“ Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。
我所做的大部分研究是人们没有在计算机上安装Access。但是,尽管我确实安装了它,但是仍然遇到了这个问题,对此我感到非常困惑。如果有人对此有任何建议或解决方案,我将不胜感激!
我正在使用文件读取器类,并且对于该类中的任何方法,它始终在“ Conn.Open()”命令中显示错误,这是我对其中一种方法的代码。
公共数据表LoadLogin()
{
string connString =“ Provider = Microsoft.ACE.OLEDB.12.0; Data Source = F:”未获取我的连接字符串:p“;
DataTable结果=新的DataTable();
using (OleDbConnection conn = new OleDbConnection(connString))
{
OleDbCommand cmd = new OleDbCommand("SELECT User_Name, Password FROM Employee", conn);
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(results);
}
return results;
}
最佳答案
这可能是由于您正在编译并运行32位,但使用的是64位Access驱动程序。另一种可能性是您安装了32位版本的Access,在这种情况下,您需要使用"Microsoft.Jet.OLEDB.4.0"
作为提供程序字符串来编译和运行x86程序。
不幸的是,您无法将程序的位与正在使用的Access提供程序的位进行混搭。