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


最近在做一个成绩管理系统的时候,我的excel连接情况突然报错,以前连接都没问题的,但服务器安装了一些东西后(比如数据库访问组件MDAC2.8),就发现之前的ASP导入EXCEL数据到ACCESS数据库的功能用不了,点击导入就报错。网上查了查都是说权限不够以及IMEX参数问题,或者Excel版本,最终还是找到了答案,google不错。
比如excel 连接代码如下:
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


[本日志由 随然 于 2009-06-18 00:02 AM 编辑]
上一篇: 关于ACCESS数据库连接方式
下一篇: 解决scriptx被屏蔽无法正确安装问题
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: ASP Excel 代码
相关日志:
评论: 4 | 引用: 0 | 查看次数: 17204
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1 字 | UBB代码 关闭 | [img]标签 关闭