我有一個問題,即我嘗試安裝它的多個版本,我的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,似乎現在工作正常...
它不應該是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