解决ASP访问Excel时的一个错误信息(找不到可安装的 ISAM)的解决办法
作者:随然 日期:2009-06-17
最近在做一个成绩管理系统的时候,我的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'"
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"""
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
Regsvr32 c:\windows\system32\msexcl40.dll
[本日志由 随然 于 2009-06-18 00:02 AM 编辑]
上一篇: 关于ACCESS数据库连接方式下一篇: 解决scriptx被屏蔽无法正确安装问题
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: ASP Excel 代码
相关日志:
评论: 4 | 引用: 0 | 查看次数: 17727
发表评论