我们有一个旧的 ASP Classic 网站,它一直在 Windows 2003 上运行,需要迁移到 2012 年。
除了我们需要能够将包含完整类别的 CSV 或 Excel 文档上传到服务器的部分之外,该站点的大部分工作。
我知道在 Windows 2008 时不存在 Microsoft 驱动程序,这就是为什么我们不得不在 2003 年离开该站点这么长时间,但我们现在正试图通过找到正确的 MS Text/CSV/XLS 驱动程序来解决这个问题Windows 2012 - 购买一个组件来为我们完成这项工作
搜索后,我找到了这篇 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 驱动程序 (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & strPath & ";"""
Microsoft Access 数据库引擎错误“80004005”
找不到可安装的 ISAM。
这是正确的文本驱动程序吗?
是否需要做其他事情,例如 IIS 设置或不同的代码?
我们已经重新启动了 IIS 并使用了权限,它在 64 位模式下运行。
是否有人对此问题有解决方案或知道解决方法,例如我可以使用/购买的组件,因为此时我不想自己开始在 ASP 经典中编写文件解析器。
即使我只能处理 CSV 文件而不是 XLS、XLSX 等,那也足够了,但我只需要知道要使用的代码、正确的连接字符串以及要在 IIS 中安装或设置的任何内容。
提前感谢您的帮助。