OPENROWSET с провайдером OLE DB, поврежденным недавним обновлением Microsoft - PullRequest
0 голосов
/ 15 февраля 2019

Мы использовали функцию OPENROWSET T-SQL с помощью поставщика Microsoft.Jet.OLEDB.4.0 для чтения в базу данных Access 2 в течение нескольких лет (более 10).Да, мы понимаем, что Access 2 очень старый, но у нас есть клиенты, которые десятилетиями держались за нашу старую систему и не могут или не хотят ее обновлять.Это также используется для обновления их до нашей текущей версии, которая использует все SQL Express.

Microsoft выпустила обновление от 12.09.2009 (4486563 для Win 7 и 4487017 для Win 10), которое нарушило функцию OPENROWSET для нас.Сбой с этой ошибкой ... "Поставщик OLE DB" Microsoft.Jet.OLEDB.4.0 "для связанного сервера" (null) "сообщил об ошибке. Поставщик сообщил о непредвиденном катастрофическом сбое."Мы определили, что это было именно это обновление, поскольку на компьютерах, на которых возникла проблема, обновление было установлено, а затем, когда оно было удалено, проблема исчезла.

Не все компьютеры подвержены уязвимости.Наши компьютеры для разработки (Win 7) имеют обновление и все еще могут запускать программное обеспечение без проблем.Мы также обнаружили, что это влияет не на все компьютеры с Win 10.Win 8 кажется незатронутым.Это программное обеспечение для розничной торговли, которое находится в дикой природе.Он не только внутренний, поэтому мы не можем контролировать его аппаратное обеспечение или выбор O / S.

Работая с функцией в прошлом, мы знаем о включении специальных разрешений для экземпляра SQL SERVER и создании правильныхзаписи реестра для поставщика OLE DB для SQL Server.Все это выглядит правильно для нас на зараженных компьютерах.Просматривая манифест для этого конкретного выпуска, мы подозреваем, что эти два измененных файла могут стать одним из тех, которые вызывают проблему, но мы не можем вручную заменить их на зараженных компьютерах (C: \ Windows \ SysWOW64 \ Msjet40.dll и C: \ Windows \SysWOW64 \ Msjetoledb40.dll).

Кто-нибудь еще сталкивался с этим или кто-нибудь может подумать о чем-то еще, что мы можем проверить / посмотреть / исследовать, или о ком-то, с кем мы можем связаться?

...