【发布时间】:2015-09-22 22:26:19
【问题描述】:
我有一个 ASP 经典应用程序,我正在从 Windows 2000 迁移到 Windows 2012 Server。
它使用以下代码导入 xls 文件
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DRIVER={Microsoft Excel Driver (*.xls)}; IMEX=1; HDR=NO; Excel 8.0; DBQ=" & Server.MapPath("\Imports\") &"\"&fn& "; "
csv 文件如下
Set objConn = CreateObject("ADODB.Connection")
Set objRS = CreateObject("ADODB.Recordset")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPathtoCSVFile & ";Extended Properties=""text;HDR=YES;FMT=Delimited"""
根据Excel ODBC and 64 bit server这个问题的答案,我下载并安装了Microsoft Access Database Engine 2010 Redistributable。
我已经尝试了上述的 32 位和 64 位版本,但除非我将应用程序池设置启用 32 位应用程序更改为 True,否则它们都不起作用。如果它设置为 False,我会收到以下错误。
用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序错误“80004005”
[Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序
不幸的是,将其设置为 True 会破坏该网站另一部分的 PDF 呈现。
到目前为止,我想出的唯一可行的选择是将此部分设置在它自己的 32 位应用程序池下。
如何在 64 位应用程序池中运行它?
编辑:在有人带着欺骗锤出现之前,一个不能解决问题的相关问题是 ASP running in 64 bits environment with Access database
【问题讨论】:
标签: asp-classic 32bit-64bit adodb windows2012