未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序,引发一系列问题

        今天在本地测试处理程序还是很顺利的旧完成了,但是一到服务器上就蔫了,在服务器上调试运行比我在本地写代码测试的时间还长。

  根据"未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序"

               这个时候就要查看自己是否安装了驱动程序,x86下载32位,x64下载64位,当然64位服务器也可以安装32位驱动(我就是64服务安装32位驱动),32为服务器装64驱动没有试过。

               下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=13255

               安装完成后再次运行,还是报障相同的问题,这个时候就要看看自己编译的程序是x86、x64、AnyCPU。

        驱动安装完成运行程序出现下面的问题↓

        根据"外部表不是预期的格式错误"

               这块最让我抓狂的地方,要炸了都。调试了半天程序,然而问题并不在程序,而是所读取文档的问题

               Microsoft.ACE.OLEDB.12.0 链接是用来读取 Excel2007 文档,那么这个文档时以什么后缀结尾的呢?

               当然是 .xlsx 结尾,那为什么本地在测试的时候 .xls & .xlsx 都能读取,这块就不得而知了(还是服务器比较严格)

               所以这里在读取文件的时候要使用 .xlsx 结尾的文档

               Microsoft.Jet.OLEDB.4.0 链接是用来读取 Excel2003 文档 以 .xls结尾。

        文档后缀问题解决后又出现下面的问题↓

        如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题

               这个问题比较好解决,就是你编译的程序 Oracle客户端 → 驱动 → 处理程序 使用的版本要一致

               32位 统一使用 32位Oracle客户端 → 安装32驱动 → 编译32位处理程序,反之就都是64位。

        这样所有问题就都解决了,记录此文章以便后续再次遇到该问题

               

       

 

posted on 2020-05-13 17:30  丝珂玛蓝  阅读(282)  评论(0)    收藏  举报

导航