我正在尝试使用访问数据库为C#中的酒店预订系统创建登录,遗憾的是我遇到了以下错误的问题;
“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。
我对此做的大部分研究都是人们没有在他们的机器上安装Access。但是当我安装它并仍然遇到这个问题时,我对此非常困惑。如果有人对此有任何建议或解决方案,我将不胜感激!
我正在使用文件阅读器类,对于类中的任何方法,它总是在“Conn.Open()”命令中显示错误,这是我的其中一个方法的代码。
public DataTable LoadLogin() { string connString =“Provider = Microsoft.ACE.OLEDB.12.0; Data Source = F:”没有得到我的连接字符串:p“; DataTable results = new 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;
}
答案 0 :(得分:3)
这可能是因为您正在编译并运行32位,但正在使用64位Access驱动程序。另一种可能是您安装了32位版本的Access,在这种情况下,您需要使用"Microsoft.Jet.OLEDB.4.0"
作为提供程序字符串来编译和运行x86程序。
不幸的是,您无法将程序的位数与您正在使用的Access提供程序的位数混合使用。