将visual studio连接到64位访问

问题描述 投票:0回答:2

我遇到了一个问题,即我的c#(asp.net)代码无法识别访问数据库引擎,即使我尝试安装它的多个版本。

现在我发现了原因 - 由于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;

P.S:我知道我应该用try-catch包围它,我不想看到调试的例外......

编辑2:我现在正在尝试使用Jet提供程序而不是ACE提供程序(并使用旧的.mdb格式),因为它不是办公室的一部分所以我可以拥有VS支持的版本,似乎工作正常目前...

c# asp.net visual-studio ms-access 32bit-64bit
2个回答
0
投票

如果您可以发布用于连接到db的代码将会很棒。但是这里。安装此引擎(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,然后使用屏幕截图编辑您的帖子,以便我可以安装您的驱动程序。


0
投票

我有类似的问题,我有一个64位版本的驱动程序,没有32位版本。

我通过将平台目标从任何CPU更改为x64来解决它(这似乎表明它是程序集的一部分(?),代码运行决定了所选驱动程序的位数)。

© www.soinside.com 2019 - 2024. All rights reserved.