32-битный Excel и 64-битный SQL Server
Прочитать в SQL Server табличку из Excel… В самом деле, что может быть проще? Для этого существует масса возможностей. Есть инструмент Integration Services, который бывшие DTS, есть мастер импорта/экспорта, который «за сценой» то же самое, можно по-быстрому сваять собственное ADO.NET-приложение, наконец, если неохота стрелять из пушек по воробьям, можно воспользоваться механизмом прилинкованных серверов, известным, как DTS, еще со времен семерки, который позволяет легко и элегантно увидеть теоретически любой ODBC/OLE DB-достижимый источник в виде таблицы (совокупности таблиц) или результата непосредственного (ad hoc) запроса. Так было до тех пор, пока 64-битная архитектура не перестала быть чем-то из области hi end и пришла на ноутбуки разработчиков и пользователей. Обычный пользователь, наверное, все-таки вряд ли будет ставить себе сервер баз данных, но для разработчика отнюдь не экзотична ситуация, когда на одной х64-машине уживаются 64-битный SQL Server с 32-битным MS Office. В этом случае создание прилинкованного сервера на Excel или Access вызывает проблему, потому что драйвера для них, понятно, 32-битные, которые SQL Server, будучи 64-битным, не понимает. Нет у него в списке известных ему провайдеров ничего похожего, хотя офис со всеми прибамбасами, включая connectivity, на компе стоит.
Рис.1
Соответственно, попытка использовать прилинкованный сервер на Excel, как описано в документации, приводит к ошибке Msg 7302, Level 16, State 1, Line 1
Cannot create an instance of OLE DB provider «Microsoft.ACE.OLEDB.12.0» for linked server…
Возникает извечный вопрос «что делать»?
Ну как что делать. Поставить 64-битного провайдера, разумеется. Вот здесь (Microsoft Access Database Engine 2010 Redistributable) их как раз раздают две штуки: AccessDatabaseEngine.exe и AccessDatabaseEngine_x64.exe. Скачиваем ту, которая 64-битная, запускаем установку и получаем отлуп.
Рис.2
То есть если бы рядом с 64-битным SQL Server не стоял 32-битный Office, то за ради Б-га, но высокие технологии у нас развились до такой высоты, что непонятно, что делать. Сносить 32-битный Office и ставить вместо него 64-битный только для того, чтобы залезть SQL Serverом в Excelную табличку? Сносить 64-битный SQL Server и ставить взамен 32-битный только тоже для того же? Не думаю, что это гибкий вариант решения, да и не всегда подобная возможность имеет место быть. Например, как пишет мужик, The MS Access database is a production environment at the customers site, and it is not an option for me to de-install it and install a 64 bits version. It is also not an option to de-install the existing SQL Server 64 bit and install the 32 bits version, of course. An additional installation of a SQL Server 32 bits, only providing the link to MS Access would be the only option then. I find this quite horrible. Начинается непонимайка. Since there is no 64-bit Jet, you need download and install the 64-bit version of «Microsoft Access Database Engine 2010 Redistributable». — Thanks for your answer, but I when I install the AccessDatabaseEngine_X64.exe I get the following error (см.Рис.1) — Please refer to this KB article: support.microsoft.com/kb/2269468 — The article in the link in your last message tells to de-install all Office 32 bits products. That makes no sense to me, because the goal is to connect to the 32 bits MS Access database. — You need to install the 64-bit version of “Microsoft ACE OLEDB Provider” to connect to an Access file (32-bit or 64-bit) from SQL Server. — But I tried to install the 64 bits driver, but it is giving me an installation error. — The previous KB article explains the cause and provide the solution, you can refer to it. — You are guiding me in circles.
Собственно, проблема в том, чтобы заставить поставиться 64-битную версию Microsoft ACE OLEDB Provider рядом с 32-битным офисом. Почему этого не удается сделать в лоб — вопрос философский, и на его тему тоже сломано немало копий. The fact that they cannot forces us to compile two different versions of our application; one specifically for x86 platform and one for x64 platform. Then we have to somehow determine which version of the ACE driver is installed so we know which version (32 or 64 bit) of our application to install. Life would be much simplier if we could just compile our app for the default AnyCPU and then both 32 and 64 dataproviders were allowed to be installed… Why can’t 32 and 64 bit ACE coexist? — It’s based upon the fact that Microsoft does not support the side by side install of 32 and 64-bit Microsoft Office 2010 or their dependent components. — I’m sorry, but that’s not a very helpful answer to the question. Q: Why can’t the 32 and 64 bit versions of the Microsoft Access Database Engine 2010 Redistributable (AccessDatabaseEngine.exe and AccessDatabaseEngine_X64.exe) both be installed on the same machine? A: Microsoft does not support the side by side install of 32 and 64-bit Microsoft Office 2010. That’s not answering, that’s just repeating the question in other words. Q: Why can’t I do this? A: Because we don’t support it. Q: Why can’t you support it? A: Because we don’t support it.
В качестве обходного пути решения для себя я использовал установку AccessDatabaseEngine_X64.exe с ключом /passive, который позволяет 64-битной версии провайдера встать бок о бок с 32-битной версией Office. Необходимо подчеркнуть, что этот способ не является официально поддерживаемым Microsoft, имеются также предостережения относительно возможных проблем с несовместимостью. When I installed the driver AccessDatabaseEngine_x64.exe… MS Office Pro Plus starts a MS Configuration Process that can take up to a minute or two before a document or Office program opens. If office 2010 32 bit is installed and if 64-bit ace is installed with /passive, then **every** time you run Access 2010, you get an automatic installation routine that resets to the 32-bit drivers for office. В моем случае (Office 2013 Pro Plus, SQL Server 2012 Developer Ed., Windows 8.1) видимых проблем (тьфу-тьфу-тьфу) пока не возникло, однако еще раз хочу заметить, что это все, что называется, as is и без каких-либо обязательств.
Скачиваю AccessDatabaseEngine_x64.exe, создаю System Restore Point на всякий пожарный (хотя, по-моему, при обновлении офисных компонент она и так создается автоматически), ставлюсь из командной строки. Вот возможные ключи:
Рис.3
Рис.4
В отличие от Рис.2 установка запускается
Рис.5
и где-то через полминуты сухо, по-деловому завершается без всяких фанфар, ОК, ура, я встала и т.д. Сейчас мы поглядим, какой это Сухов. На Рис.1 из контекстного меню Providers говорим Refresh и, что называется, чувствуем разницу.
Рис.6
Это вселяет. По-быстрому сварганил незатейливый xslx:
Рис.7
В SQL Server создаем прилинкованный сервер на этот Excel:
и с замиранием читаем:
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider «Microsoft.ACE.OLEDB.12.0» for linked server «XlsLnkSrv» reported an error. The provider did not give any information about the error.
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider «Microsoft.ACE.OLEDB.12.0» for linked server «XlsLnkSrv».
Нет, (Excel забыл закрыть) все-таки гол!
Рис.8
Установка 64-разрядного ядра СУБД Microsoft Access вместе с 32-разрядным пакетом Microsoft Office
Автор:
Проблема
В этой статье описывается установка 64-разрядного ядра СУБД Microsoft Access на компьютере с 32-разрядной версией Microsoft Office (2007, 2010 или 2013).
При попытке установки появляется ошибка, аналогичная показанной ниже (например, в версии 2010 для версии 2016):
Установка ядра СУБД Microsoft Access 2010 (на английском языке)
Невозможно установить 64-разрядную версию ядра СУБД Microsoft Access 2010, так как в настоящее время установлены 32-разрядные программы. Если требуется установить 64-разрядную версию ядра СУБД Microsoft Access 2010, сначала необходимо удалить 32-разрядную версию установки продуктов Office. После удаления следующих программ перезапустите программу установки 64-разрядной версии ядра СУБД Microsoft Access 2010:
Microsoft Office Professional Plus 2010
MS Access DB Engine (32-разрядная версия) с 64-разрядной версией Office
в настоящее время у нас есть серьезная проблема с использованием Microsoft Access Database Engine 2010. Двигатель поставляется в 64-битной и 32-битной формах, что хорошо. Однако, по-видимому, вам нужно всегда устанавливать 32-разрядную версию, если хост-процесс всегда 32-разрядный. Хорошо, мы можем это сделать.
наше программное обеспечение имеет дело с большим количеством устаревших компонентов, которые являются 32-разрядными, и большая часть из них находится в коде VB6, который генерирует 32-разрядную сборку. Таким образом, мы исходим из предположения, что драйвер также должен быть установлен как 32-битный. Действительно, когда мы устанавливаем 32-разрядные драйверы на 64-разрядной машине и запускаем наши 32-разрядные приложения, он работает правильно.
однако проблема начинается, когда в системе установлен 64-разрядный Office 2010. Поверьте мне, мы пытались обучить пользователей, что 64-битный Office в значительной степени не нужен, но безрезультатно. Поскольку компьютеры выходят из сборочной линии с 64-разрядными версиями, мы не можем идти в ногу с запросами поддержки, когда наше программное обеспечение что-то ломает. Либо 64-разрядные перерывы Office наша установка или наша установка нарушает их версию Office, но это не очень красиво в любом случае. Еще одна проблема заключается в том, что не устаревшее программное обеспечение иногда устанавливает 64-разрядные драйверы (как и должно), и две версии просто не сосуществуют каким-либо разумным образом. Либо наше программное обеспечение ломается, либо их программное обеспечение ломается.
Итак, кому-нибудь удалось найти способ заставить 32-разрядные драйверы сосуществовать с 64-разрядными установками? Я видел, что установка с /passive флаг позволяет двух должны быть установлены, и наш установщик использует пассивный. Оба устанавливаются, но как только в системе либо наше программное обеспечение больше не работает, либо Office постоянно ремонтирует его установку. Есть ли разумный способ заставить это работать?
6 ответов
вот обходной путь для установки 64-разрядной версии Microsoft Access Database Engine 2010, распространяемой в системе с установленной 32-разрядной версией MS Office:
- Проверьте 64-разрядный раздел реестра «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths» перед установкой 64-разрядной версии распространяемого компонента Microsoft Access Database Engine 2010.
- если он не содержит «mso.dll » значение реестра, тогда вам нужно будет переименуйте или удалите значение после установки 64-разрядной версии распространяемого компонента Microsoft Access Database Engine 2010 в системе с установленной 32-разрядной версией MS Office.
- используйте параметр командной строки» / passive » для установки распространяемого файла, например «C:\directory путь\AccessDatabaseEngine_x64.exe-файла» /пассивный
- удалить или переименовать «mso.dll » значение реестра, которое содержит путь к 64-разрядной версии MSO.DLL (и не должен использоваться 32-битным MS Office версии.)
теперь вы можете запустить 32-разрядное приложение MS Office без проблемы «повторной настройки». Обратите внимание, что «mso.dll » значение реестра уже будет присутствовать, если установлена 64-разрядная версия MS Office. В этом случае значение не следует удалять или переименовывать.
также, если вы не хотите использовать параметр командной строки «/passive», вы можете отредактировать AceRedist.msi-файл для удаления проверки архитектуры MS Office:
- скачать и установка Microsoft Orca: http://msdn.microsoft.com/en-us/library/windows/desktop/aa370557 (v=против 85).aspx
- распакуйте AccessDatabaseEngine.exe или AccessDatabaseEngine_x64.exe файл
- откройте AceRedist.msi-файл в Orca
- найдите две строки таблицы, содержащие действие «CheckOfficeArchitecture», и удалите эти строки
- сохранить обновленный AceRedist.msi-файл
теперь вы можете использовать этот файл для установки Microsoft Access Database Engine 2010 распространяется в системе, где установлена» конфликтующая » версия MS Office (например, 64-разрядная версия в системе с 32-разрядной версией MS Office) Убедитесь, что вы переименовали » mso.dll » значение реестра, как описано выше (при необходимости).
Я ненавижу отвечать на мои собственные вопросы, но я, наконец, нашел решение, которое действительно работает (использование связи сокетов между службами может решить проблему, но это создает еще больше проблем). Поскольку наша база данных является legacy, это просто требуется Microsoft.ACE.OLEDB.12.0 в строке подключения. Оказывается, это также было включено в Office 2007 (и MSDE 2007), где доступна только 32-разрядная версия. Таким образом, вместо установки MSDE 2010 32-бит, мы установить MSDE 2007, и это прекрасно работать. Другие приложения могут установить 64-разрядный MSDE 2010 (или 64-разрядный Office 2010), и это не конфликтует с нашим приложением.
до сих пор, похоже, это приемлемое решение для всех сред ОС Windows.
установите версию 2007, кажется, что если вы установите версию, противоположную используемой версии Office, вы можете заставить ее работать.
аналогичный подход к ответу @Peter Coppins. Это, я думаю, немного проще и не требует использования утилиты Orca:
проверьте раздел реестра» HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths «и убедитесь, что значение» mso.dll » нет. Если он присутствует, то Office 64-бит, похоже, установлен, и вам не нужно это обходное решение.
из командной строки, выполните команду: AccessDatabaseEngine_x64.ехе /пассивный
(Примечание: этот установщик молча разбился или не удался для меня, поэтому я распаковал компоненты и запустил: AceRedist.msi / passive и это установлено нормально. Может быть, Windows 10.)
- удалить или переименовать «mso.dll файлы» значение «реестре: HKEY_LOCAL_MACHINE\программное обеспечение\Майкрософт\Офис\14.0\общие\FilesPaths» ключ.
У меня было более конкретное сообщение об ошибке, в котором говорилось, чтобы удалить «Office 16 Click-To-Run Extensibility Component»
- перейти к Пуск > Выполнить (или Winkey + R)
- введите «installer» (который открывает папку%windir % installer), убедитесь, что все файлы видны в Windows (настройки папки)
- добавить столбец «тема» (и сделать его не менее 400 пикселей в ширину) – щелкните правой кнопкой мыши на заголовках столбцов, нажмите больше, а затем найти тему
- сортировка в столбце тема и прокрутите вниз, пока не найдете имя, указанное на экране ошибки («Office 16 Click-To-Run Extensibility Component»)
- щелкните правой кнопкой мыши MSI и выберите Удалить
Если обе версии Microsoft Access Database Engine 2010 не могут сосуществовать, тогда ваше единственное решение-пожаловаться Microsoft, что загрузка 64-битных версий этого в вашем 32-битном приложении невозможна напрямую, вы можете сделать службу, которая работает в 64 битах, которая взаимодействует с другой 32-битной службой или вашим приложением через каналы или сетевые сокеты, но это может потребовать значительных усилий.
Что такое AccessDatabaseEngine.exe? Это безопасно или вирус? Как удалить или исправить это
AccessDatabaseEngine.exe это исполняемый файл, который является частью Программное обеспечение Microsoft Streets & Trips 2009 Trip Planning разработанный Microsoft, Версия программного обеспечения для Windows: 1.0.0.0 обычно 26481312 в байтах, но у вас может отличаться версия.
Расширение .exe имени файла отображает исполняемый файл. В некоторых случаях исполняемые файлы могут повредить ваш компьютер. Пожалуйста, прочитайте следующее, чтобы решить для себя, является ли AccessDatabaseEngine.exe Файл на вашем компьютере — это вирус или вредоносная программа, которую вы должны удалить, или, если это действительно допустимый файл операционной системы Windows или надежное приложение.
AccessDatabaseEngine.exe безопасно, или это вирус или вредоносная программа?
Первое, что поможет вам определить, является ли тот или иной файл законным процессом Windows или вирусом, это местоположение самого исполняемого файла. Например, для AccessDatabaseEngine.exe его путь будет примерно таким: C: \ Program Files \ Microsoft \ Microsoft Streets & Trips Программное обеспечение 2009 для планирования поездок \ AccessDatabaseEngine.exe
Чтобы определить его путь, откройте диспетчер задач, перейдите в «Просмотр» -> «Выбрать столбцы» и выберите «Имя пути к изображению», чтобы добавить столбец местоположения в диспетчер задач. Если вы обнаружите здесь подозрительный каталог, возможно, стоит дополнительно изучить этот процесс.
Еще один инструмент, который иногда может помочь вам обнаружить плохие процессы, — это Microsoft Process Explorer. Запустите программу (не требует установки) и активируйте «Проверить легенды» в разделе «Параметры». Теперь перейдите в View -> Select Columns и добавьте «Verified Signer» в качестве одного из столбцов.
Если статус процесса «Проверенная подписывающая сторона» указан как «Невозможно проверить», вам следует взглянуть на процесс. Не все хорошие процессы Windows имеют метку проверенной подписи, но ни один из плохих.
- Имя: AccessDatabaseEngine.exe
- Программного обеспечения: Программное обеспечение Microsoft Streets & Trips 2009 Trip Planning
- Издатель: Microsoft
- Ожидаемое местоположение: C: \ Program Files \ Microsoft \ Программа планирования поездок 2009 для улиц и поездок Microsoft \ подпапке
- Ожидаемый полный путь: C: \ Program Files \ Microsoft \ Программное обеспечение 2009 для планирования улиц и поездок Microsoft \ AccessDatabaseEngine.exe
- SHA1: B36FBE19362930778F36CF853BAA3CA6FD1E64D1
- SHA256:
- MD5: 627D83F16F73531E28D6D42C2D42E885
- Известно, что до 26481312 размер байт в большинстве Windows;
Если у вас возникли какие-либо трудности с этим исполняемым файлом, перед удалением AccessDatabaseEngine.exe вы должны определить, заслуживает ли он доверия. Для этого найдите этот процесс в диспетчере задач.
Найти его местоположение и сравнить размер и т. Д. С приведенными выше фактами
Если вы подозреваете, что можете быть заражены вирусом, вы должны немедленно попытаться это исправить. Чтобы удалить вирус AccessDatabaseEngine.exe, необходимо скачайте и установите приложение полной безопасности, как это, Обратите внимание, что не все инструменты могут обнаружить все типы вредоносных программ, поэтому вам может потребоваться попробовать несколько вариантов, прежде чем вы добьетесь успеха.
Кроме того, функциональность вируса может сама влиять на удаление AccessDatabaseEngine.exe. В этом случае вы должны включить Безопасный режим с загрузкой сетевых драйверов — безопасная среда, которая отключает большинство процессов и загружает только самые необходимые службы и драйверы. Когда вы можете запустить программу безопасности и полный анализ системы.
Могу ли я удалить или удалить AccessDatabaseEngine.exe?
Не следует удалять безопасный исполняемый файл без уважительной причины, так как это может повлиять на производительность любых связанных программ, использующих этот файл. Не забывайте регулярно обновлять программное обеспечение и программы, чтобы избежать будущих проблем, вызванных поврежденными файлами. Что касается проблем с функциональностью программного обеспечения, проверяйте обновления драйверов и программного обеспечения чаще, чтобы избежать или вообще не возникало таких проблем.
Лучшая диагностика для этих подозрительных файлов — полный системный анализ с ASR Pro or это антивирус и средство для удаления вредоносных программ, Если файл классифицируется как вредоносный, эти приложения также удаляют AccessDatabaseEngine.exe и избавляются от связанных вредоносных программ.
Однако, если это не вирус, и вам нужно удалить AccessDatabaseEngine.exe, вы можете удалить программное обеспечение Microsoft Streets & Trips 2009 Trip Planning со своего компьютера, используя его деинсталлятор. Если вы не можете найти его деинсталлятор, вам может потребоваться удалить программное обеспечение Microsoft Streets & Trips 2009 Trip Planning, чтобы полностью удалить AccessDatabaseEngine.exe. Вы можете использовать функцию «Установка и удаление программ» на панели управления Windows.
- 1. в Меню Пуск (для Windows 8 щелкните правой кнопкой мыши в нижнем левом углу экрана), нажмите Панель управления, а затем под Программы:
o Windows Vista / 7 / 8.1 / 10: нажмите Удаление программы.
o Windows XP: нажмите Установка и удаление программ.
- 2. Когда вы найдете программу Программное обеспечение Microsoft Streets & Trips 2009 Trip Planningщелкните по нему, а затем:
o Windows Vista / 7 / 8.1 / 10: нажмите Удалить.
o Windows XP: нажмите Удалить or Изменить / Удалить вкладка (справа от программы).
- 3. Следуйте инструкциям по удалению Программное обеспечение Microsoft Streets & Trips 2009 Trip Planning.
Распространенные сообщения об ошибках в AccessDatabaseEngine.exe
Наиболее распространенные ошибки AccessDatabaseEngine.exe, которые могут возникнуть:
• «Ошибка приложения AccessDatabaseEngine.exe».
• «Ошибка AccessDatabaseEngine.exe».
• «AccessDatabaseEngine.exe столкнулся с проблемой и должен быть закрыт. Приносим извинения за неудобства».
• «AccessDatabaseEngine.exe не является допустимым приложением Win32».
• «AccessDatabaseEngine.exe не запущен».
• «AccessDatabaseEngine.exe не найден».
• «Не удается найти AccessDatabaseEngine.exe».
• «Ошибка запуска программы: AccessDatabaseEngine.exe».
• «Неверный путь к приложению: AccessDatabaseEngine.exe».
Эти сообщения об ошибках .exe могут появляться во время установки программы, во время выполнения ее вспомогательного программного обеспечения, программного обеспечения Microsoft Streets & Trips 2009 Trip Planning, при запуске или завершении работы Windows, или даже при установке операционной системы Windows. , Отслеживание момента появления ошибки AccessDatabaseEngine.exe является важной информацией, когда дело доходит до устранения неполадок.
Как исправить AccessDatabaseEngine.exe
Аккуратный и опрятный компьютер — это один из лучших способов избежать проблем с AccessDatabaseEngine.exe. Это означает выполнение сканирования на наличие вредоносных программ, очистку жесткого диска cleanmgr и ПФС / SCANNOWудаление ненужных программ, мониторинг любых автозапускаемых программ (с помощью msconfig) и включение автоматических обновлений Windows. Не забывайте всегда делать регулярные резервные копии или хотя бы определять точки восстановления.
Если у вас возникла более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Использовать resmon Команда для определения процессов, вызывающих вашу проблему. Даже в случае серьезных проблем вместо переустановки Windows вы должны попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.exe / Online / Очистка-изображение / Восстановить здоровье, Это позволяет восстановить операционную систему без потери данных.
Чтобы помочь вам проанализировать процесс AccessDatabaseEngine.exe на вашем компьютере, вам могут пригодиться следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска. Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Это антивирус обнаруживает и удаляет со своего жесткого диска шпионское и рекламное ПО, трояны, кейлоггеры, вредоносное ПО и трекеры.
Обновлено февраль 2023:
- Шаг 1: Скачать PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista — Microsoft Gold Certified).
- Шаг 2: Нажмите «Начать сканирование”, Чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
- Шаг 3: Нажмите «Починить все», Чтобы исправить все проблемы.
Загрузите или переустановите AccessDatabaseEngine.exe
Вход в музей Мадам Тюссо не рекомендуется загружать замещающие exe-файлы с любых сайтов загрузки, так как они могут содержать вирусы и т. д. Если вам нужно скачать или переустановить AccessDatabaseEngine.exe, то мы рекомендуем переустановить основное приложение, связанное с ним Программное обеспечение Microsoft Streets & Trips 2009 Trip Planning.
Что такое программное обеспечение Microsoft Streets & Trips 2009 Trip Planning
Альтернатива программному обеспечению Microsoft Streets & Trips. Maptitude — лучшая альтернатива Microsoft Streets and Trips ™. Используйте Maptitude в качестве программного обеспечения для определения местоположения GPS. Импорт / экспорт файлов формата Google Maps.