编辑预览
Microsoft.ACE.OLEDB.12.0应用的应用程序,有些64位的机器可以打开EXCEL有些就无法打开
之前设置的编译属性是Any CPU,prefer 32-bit
不能打开的64位机器,修改应用程序编译属性为x64之后可以打开
确定都已经下载了AccessDatabaseEngine
不能打开的机器,报的错误都是
应该怎么做,能够使这个应用程序适用于全部的类型的机器呢?
Microsoft.ACE.OLEDB.12.0应用的应用程序,有些64位的机器可以打开EXCEL有些就无法打开
之前设置的编译属性是Any CPU,prefer 32-bit
不能打开的64位机器,修改应用程序编译属性为x64之后可以打开
确定都已经下载了AccessDatabaseEngine
不能打开的机器,报的错误都是
应该怎么做,能够使这个应用程序适用于全部的类型的机器呢?
解决方案
5
你试试。这是网上的一些办法
1.在用SQL SERVER 2005访问.xlsx文件(office2007&2010文件格式)时,必须用
provider “Microsoft.ACE.OLEDB.12.0″ 来实现。
2.首先要安装AccessDatabaseEngine.exe。
下载路径:http://www.microsoft.com/downloads/details.aspx?familyid=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en
3.在32位系统中可以在数据库中看见这个provider。
4.在64位系统中不能看见它,这时需调用
C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe
来执行package。
假如还不行执行下这句
EXEC master.dbo.sp_MSset_oledb_prop N”Microsoft.ACE.OLEDB.12.0″, N”AllowInProcess”, 1
15
那会不会是你引用的office的excel版本太高了?
使用低版本的试试看。
之前本人遇到这个问题,就是使用了office的貌似12版本导致的。后来改成了4。0好像解决了。
在数据库驱动的连接字符串 里有设置。
conn = “Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =” + excelPath + “;Extended Properties=”Excel 8.0;HDR=Yes;IMEX=1″”;
使用低版本的试试看。
之前本人遇到这个问题,就是使用了office的貌似12版本导致的。后来改成了4。0好像解决了。
在数据库驱动的连接字符串 里有设置。
conn = “Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =” + excelPath + “;Extended Properties=”Excel 8.0;HDR=Yes;IMEX=1″”;