连接Visual Studio到64位访问
问题描述:
我有一个问题,即我尝试安装它的多个版本,我的c#(asp.net)代码无法识别访问数据库引擎。连接Visual Studio到64位访问
现在我发现了原因 - 由于Visual Studio是32位(由于某些原因,没有64位版本),它只能与32位引擎一起工作。
不幸的是,32位和64位办公产品无法共存,并且阻止我安装32位引擎(我有64位办公室)。
有什么办法可以将Visual Studio连接到引擎而不需要卸载整个办公软件包?
编辑:继承人的代码
public bool Connect(string connectionString)
{
if (this.connection != null)
{
if (!this.connection.State.Equals(ConnectionState.Closed))
{
this.connection.Close();
}
}
this.connection = new OleDbConnection(connectionString);
this.connection.Open();
return true;
}
与连接字符串
Provider=Microsoft.ACE.OLEDB.12.0; Data Source='|DataDirectory|\db.accdb'; Persist Security Info=False;
PS:我知道我应该用的try-catch围绕着它,我wan't看到调试例外...
编辑2:我现在试图使用Jet提供程序而不是ACE提供程序(并使用旧访问.mdb格式),因为它不是办公室的一部分,所以我可以有一个版本VS supp orts,似乎现在工作正常...
答
如果你可以发布代码,你使用连接到数据库将是伟大的。 但是在这里。安装此引擎(https://www.microsoft.com/en-gb/download/details.aspx?id=13255)32位。由于您的Visual Studio将只有32位应用程序等
后,我安装,你应该能够使用下面的连接字符串
Microsoft.ACE.OLEDB.12.0
Driver={Microsoft Access Driver (*.mdb, *.accdb)};
给一个去,让我知道是否可行。你的代码也会有很大的帮助。 如果它没有工作发布的odbc源图片。打开Windows搜索并键入odbc,然后用截图编辑您的文章,以便我可以安装您已安装的驱动程序。
它不应该是Visual Studio的问题,它应该是你编译的C#应用程序。应用程序是为32位还是64位体系结构编译的? Visual Studio本身是32位的事实不应该有任何区别AFAIK。它可以编译为其他目标体系结构。 – ADyson
P.S. VS只有32位的原因是非常明智的 - 见这篇文章https://www.infoq.com/news/2016/01/VS-64-bit – ADyson
你试图连接到什么具体访问? VS中的一些数据工具?或者用C#编写的ASP.NET应用程序?不要将IDE与框架混淆,它们是不同的。 – mason