分享

err.Description 提示“未找到提供程序。该程序可能未正确安装。”

 木棉下的守望 2014-10-15

WIN7 X64,SQL2008(不是R2),安装了OFFICE2013 x64
安装了AccessDatabaseEngine_X64。也在IIS里面设置了启用32位应用程序。
在SQL2008链接服务器访问端口可以看到Microsoft.ACE.OLEDB.12.0
用sql可以使用
select * FROM OPENDATASOURCE ('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=YES;Database=F:\sss.xls;')...[表名$]

但在使用asp链接xls出现问题:
Dim excelConn,excelConnStr
set excelConn=Server.CreateObject("ADODB.Connection")
excelConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\sss.xls;Extended Properties='Excel 12.0;HDR=YES;IMEX=1';"
excelConn.Open excelConnStr

err.Description 提示“未找到提供程序。该程序可能未正确安装。”

用excelConnStr="Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=F:\sss.xls;" 也不行。

我在另外一台电脑,同样上面的配置。就可以。太奇怪了。
原来是使用 set excelTableRs=excelConn.OpenSchema(20)

能否用sql去查询xls里面是否有什么表。
比如select * FROM OPENDATASOURCE ('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=YES;Database=F:\sss.xls;')***什么的。

回复次数受限。新建账号

找到问题了。因为AccessDatabaseEngine_X64是64位,用sql2008(也是64位),所以可以使用,但用DTS导入xls时就出现Microsoft.ACE.OLEDB.12.0未找到。因此判定还缺少AccessDatabaseEngine的32位包,安装后故障解除。

在64位系统中,安装了64位office,AccessDatabaseEngine开始必须安装x64,然后再安装AccessDatabaseEngine32位

先安装了64位office,然后再安装AccessDatabaseEngine32位。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多