Access Database engine OLEDB in windows server 2016

柔情痞子 提交于 2019-12-22 09:21:48

问题


I have an application that uses Microsoft ACE OLEDB 12.0 driver and hence I have installed 2007 Office System Driver: Data Connectivity Components in my system.

I also have created SSIS packages to pull data from the excel and csv files which get's inserted into the SQL tables using the Microsoft ACE OLEDB 12.0. Below is my connection string

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls;
Extended Properties="Excel 8.0;HDR=YES";

I wanted to move these applications to the server environment for deployment and When I reached out to the IT for getting Office 2007 system driver to be installed, they said it's not supported in Windows server 2016 and have security vulnerabilities.

Hence I wanted to know whether we have any alternate Microsoft OLEDB provider for SSIS operation? I tried installing office 2010 however I got the error message that

Microsoft OLEDB 12.0 is not registered on my machine.

Will installing Microsoft Access Database Engine 2016 Redistributable help me out in resolving the problem. If yes what will be my connection string. Is the below one correct?

Provider=Microsoft.ACE.OLEDB.16.0;Data Source=c:\myFolder\myOldExcelFile.xls;Extended Properties="Excel 12.0;HDR=YES";

The office 2016 oledb is also not supported in windows server 2016. Hence what security vulnerabilities will occur when we install Office 2007 or 2016 on windows server 2016?

Any help will be highly appreeciated.


回答1:


Microsoft OLEDB 12.0 is not registered on my machine.

Since you installed Access Database Engine 2010 and you received the error above, then it looks like it is a 32/64 bit problem.

Make sure you installed both redistributables 32 and 64.

If you need to install AccessDataBaseEngine x64 alongside with 32-bit installation, you need to run the installation in passive mode:

Passive mode installation steps

  1. Open the Command Prompt by typing cmd in the Windows search box under the Start menu and selecting cmd.exe
  2. Type the file path and file name of the 64-bit Access Database Engine 2010 install file, followed by a space and /passive (this runs the installation without showing any error messages).
  3. Open the Registry Editor by typing regedit in the Windows search box under the Start menu and selecting regedit.exe
  4. Delete or rename the mso.dll registry value in the following registry key:

    "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths" 
    

More details and screenshots are found in the link below

Reference

  • How to install 64-bit Microsoft Database Drivers alongside 32-bit Microsoft Office


来源:https://stackoverflow.com/questions/55467568/access-database-engine-oledb-in-windows-server-2016

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!