【发布时间】:2015-02-03 16:16:44
【问题描述】:
我们有一个旧的 ASP Classic 网站,它一直在 Windows 2003 上运行,需要迁移到 2012 年。
该网站的大部分工作都与我们需要能够将充满类别的 CSV 或 Excel 文档上传到服务器的部分分开。
我知道在 Windows 2008 时不存在 Microsoft 驱动程序,这就是为什么我们不得不在 2003 年离开该站点这么久,但我们现在正试图通过以下方式解决这个问题 - 为 Windows 2012 找到正确的 MS Text/CSV/XLS 驱动程序 - 购买一个组件来为我们完成这项工作
搜索后发现这篇 MS 知识库文章 > http://www.microsoft.com/en-us/download/details.aspx?id=13255
这说明它应该可以完成这项工作,但是当我使用从知识库文章中获得的以下代码上传 Excel 时
Set objConnectionCSV = Server.CreateObject("ADODB.Connection")
Set objCSVRecs = Server.CreateObject("ADODB.Recordset")
'* Get path and extension of uploaded file - earlier on using ASPUpload
strPath = objFile.Path
strExt = lcase(Right(strPath,Len(strPath)-InStrRev(strPath,".")))
'* try with new driver code
With objConnectionCSV
.Provider = "Microsoft.ACE.OLEDB.12.0"
'* it errors on this line!
.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & strPath & ";"""
'* old code which I don't get to which required data to be on sheet 1
On Error Resume Next
Set objCSVRecs = .Execute("[Sheet1$]")
If Err.number <> 0 Then
strErrMessage = "Error opening file: " & Err.number & " " & Err.Description & ";"
Err.Clear
End If
End With
我得到这个错误就行了
.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & strPath & ";"""
Microsoft Access 数据库引擎错误“80004005”
找不到可安装的 ISAM。
这是正确的文本驱动程序吗?
是否需要做其他事情,例如 IIS 设置或不同的代码?
我们已经重新启动了 IIS 并使用了权限,它在 64 位模式下运行。
是否有人对此问题有解决方案或知道解决方法,例如我可以使用/购买的组件,因为此时我不想自己开始在 ASP 经典中编写文件解析器。
即使我只能处理 CSV 文件而不是 XLS、XLSX 等,那也足够了,但我只需要知道要使用的代码、正确的连接字符串以及要在 IIS 中安装或设置的任何内容。
提前感谢您的帮助。
【问题讨论】:
标签: iis asp-classic driver xls windows2012