解决ASP访问Excel时的一个错误信息(找不到可安装的 ISAM)

[ 2008-08-19 00:13:27 | 作者: admin ]
字号: | |
p.s. 遇到的问题和这个情况完全吻合,参考 http://www.ziyuehome.com/article.asp?id=75
我的连接情况突然报错,网上查了查都是说权限不够以及IMEX参数问题,或者Excel版本,最终还是找到了答案,google不错
db = "20087-2916374-1203.xls"
connstrxls="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"") & ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"

---------------------------------------------------------参考解决方案------------------------------------------------------------------

要用ASP访问Excel,其连接字符串按照connectionstrings的做法,有以下两种:
ODBC
"Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;DefaultDir=c:\mypath;"

OLE DB
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""

最近我在使用的时候却出现了一些错误。服务器操作系统是Windows Server 2003,当用 ODBC 方式访问时提示:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Excel Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0xa88 Thread 0xaa0 DBC 0xcf78ab4 Excel'。

当用 OLE DB 方式访问时提示:
Microsoft JET Database Engine 错误 '80004005'

找不到可安装的 ISAM。

英文的话就是:
Could not find installable ISAM.

开始一直以为是连接字符串的问题,还来回换了几个Excel文件,还在服务器上修复Office2003,也安装了Excel,但是在本机的Windows XP(SP2)系统上测试正常,在服务器上老是出错。

最后在微软知识库中看到一篇文章(http://support.microsoft.com/kb/209805),虽然说的和我遇到的错误不是一回事儿,但是按他的方法最后解决问题了,那就是
重新注册Msexcl40.dll组件
Regsvr32 c:\windows\system32\msexcl40.dll
[最后修改由 admin, 于 2008-09-01 09:13:17]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1144

这篇日志没有评论。

此日志不可发表评论。