0

由于安装了累积的 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
4

2 回答 2

0

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

  1. 安装 Microsoft 数据库引擎 2016。
  2. 我通过将其添加到配置文件 xxx.config 中来激活所有 OLE DB 服务。... connectionString="Provider=Microsoft.ACE.OLEDB.16.0;Data Source=Table.accdb;Persist Security Info=True; OLE DB Services=-1 ;
于 2020-05-29T09:35:11.890 回答
0

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

有时,问题是

由于您的项目的构建配置平台与安装在您计算机上的 Microsoft Access 数据库引擎不匹配。

如本答案[by/ Katia ] 所述。希望这可以帮助。祝你好运。

于 2020-05-27T16:29:33.603 回答