Проблема с драйвером Microsoft ACE DatabaseEngine 2010 (12.0), после Windows 10 накопительных обновлений 1909 (и более поздних версий) - PullRequest
0 голосов
/ 27 мая 2020

поскольку установлено кумулятивное 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 голосов
/ 29 мая 2020

после некоторых тестов я нашел следующее решение моей проблемы.

  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 ;
0 голосов
/ 27 мая 2020

Microsoft объявляет ( Известные проблемы с Office и Windows 10 ), в которые включен Office 2010, но не указывает никаких технических деталей для разработчиков. Тем не менее, вы сделали все возможное, учитывая, что вы (в любом случае) предоставите DatabaseEngine 2010 Redist для клиента.

Иногда проблема заключается в

из-за несоответствия между сборками конфигурационная платформа вашего проекта и Microsoft Access Database Engine, который установлен на вашем компьютере.

Как указано в этом ответе [by / Katia ]. Надеюсь это поможет. Удачи.

...