Windows 10 1909累积更新(和更高版本)之后的Microsoft ACE DatabaseEngine 2010驱动程序(12.0)问题

时间:2020-05-27 08:22:13

标签: vb.net ms-access windows-10 oledbconnection

由于安装了累积性Windows 10 1909更新,因此在访问MS Access accdb时出现以下异常。 :外部组件引发了异常。 重新安装Microsoft ACE DatabaseEngine 2010(OLEDB.12.0 ..)之后,所有功能均恢复正常。 我该怎么办?

Dim sel As String = "Select Notiz from T_TerminNotiz where ztrText=@ztrText and serNr=@serNr"
Using myConnection As New OleDbConnection(myConnStringX1)
    myConnection.Open()

    Using mySqlCmd As New OleDbCommand(sel, myConnection)
        mySqlCmd.CommandType = CommandType.Text
        mySqlCmd.CommandTimeout = myCmdTimeOut
        mySqlCmd.CommandText = sel
        mySqlCmd.Parameters.Clear()
        mySqlCmd.Parameters.Add(New OleDbParameter("@ztrText", OleDbType.VarChar)).Value = strKlient
        mySqlCmd.Parameters.Add(New OleDbParameter("@serNr", OleDbType.Integer)).Value = serNr
        oRet = mySqlCmd.ExecuteScalar()
    End Using

End Using

2 个答案:

答案 0 :(得分:0)

Microsoft宣布(Known issues with Office and Windows 10)包括Office 2010,但未为开发人员指定任何技术细节。 但是,考虑到您将(无论如何)为客户端提供DatabaseEngine 2010 Redist,您做了最好的事情。

有时候,问题是

由于您的构建配置平台之间不匹配 项目和安装在Microsoft Access数据库引擎上 您的机器。

如{{/ Katia ]本answer中所述。希望这可以帮助。祝你好运。

答案 1 :(得分:0)

经过一些测试,我找到了解决我问题的方法。

  1. 安装Microsoft DatabaseEngine 2016。
  2. 我通过将所有OLE DB服务添加到配置文件xxx.config中来激活它。 ... connectionString =“ Provider = Microsoft.ACE.OLEDB.16.0; Data Source = Table.accdb; Persist Security Info = True; OLE DB Services = -1 ;