查看: 384|回复: 7

[问与答] 请教高人,asp连接access,在本机都正常,上传到网站,就出错

[复制链接]
爱家爱学习 发表于 2022-7-23 08:19:31 | 显示全部楼层 |阅读模式
请教高人,asp连接access,在本机都正常,上传到网站,就出错,代码如下:

set conn=server.createobject("adodb.connection")
db="example3c.accdb"
connstr="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath(db)
conn.Open connstr
set rs=server.createobject("ADODB.Recordset")
exec="select * from guestbook"
rs.open exec,conn,1,1

错误提示如下:

ADODB.Connection 错误 '800a0e7a'
未找到提供程序。该程序可能未正确安装。
/asp/ac1b.asp,行 4     
  
说这句错:conn.Open connstr

但同样的,mdb文件就正常连接,可打开,代码如下
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("example3.mdb")
exec="select * from guestbook"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1

为什么accdb打不开呢,请教高人,谢谢!
xuanxiao 发表于 2022-7-23 10:03:52 | 显示全部楼层
你如果切换到MDB兼容性是最好的。因为MDB是ACCESS 2003下的格式,如果采用Microsoft.Jet.OLEDB.4.0 可以很好的兼容各种系统,当然你如果要采用更新的链接方式,你得安装ACE引擎,默认系统应该是没有安装的,所以这就是为什么服务器上会提示你未提供驱动。

Jet 4 数据库引擎的独立版本是Microsoft 数据访问组件(MDAC) 的一个组件,并且包含在从 Windows 2000 开始的每个 Windows 版本中。Jet 数据库引擎只有32 位,不能在64 位版本的 Windows 下本机运行。这意味着本机 64 位应用程序(例如 64 位版本的 SQL Server)无法通过 ODBC、OLE DB或任何其他方式访问存储在 MDB 文件中的数据,除非通过中间 32 位软件(在WoW64中运行) ) 充当 64 位客户端的代理。

你可以参考下面的专题介绍,非常详细的介绍了链接方式:使用OLEDB和ODBC方式连接ACCESS/EXCEL小结
http://bbs.ttasp.com/thread-8901-1-1.html
(出处: 天天ASP家园)
 楼主| 爱家爱学习 发表于 2022-7-23 10:12:17 | 显示全部楼层
好的,谢谢,那只能用mdb文件了
 楼主| 爱家爱学习 发表于 2022-7-23 10:42:33 | 显示全部楼层
还请教一个问题,不是说ACE可以支持适用于Microsoft Access 的全部版本的吗,我把原来是JET改成用ACE后,出错提示“该程序未正确安装” 。为啥呢?
xuanxiao 发表于 2022-7-23 13:14:00 | 显示全部楼层
爱家爱学习 发表于 2022-7-23 10:42
还请教一个问题,不是说ACE可以支持适用于Microsoft Access 的全部版本的吗,我把原来是JET改成用ACE后,出 ...

Microsoft.ACE.OLEDB.12.0提供程序

(1)、用于替代Microsoft.Jet.OLEDB.4.0提供程序,所以适用于Microsoft Access 的全部版本,如Microsoft Access 2003、Microsoft Access 2007、Microsoft Access 2010、Microsoft Access 2016等。
(2)、既有32位版本又有64位版本
(3)、一个操作系统只能安装一种位数的ACE,如安装64位需要卸载32位。
(4)、64位的应用程序只能调用64位的引擎、32位的应用程序只能调用32位的引擎。
(5)、64位应用程序需要连接64位或32位access就必须用64位的ACE引擎。


是的,建议你安装个32位的。也可以用ODBC方式


  1. ACCESS连接字符串:
  2. “Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path to mdb/accdb file”

  3. EXCEL连接字符串:
  4. “Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=path to xls/xlsx/xlsm/xlsb file”
复制代码


2.png

QQ截图20220723135804.png

 楼主| 爱家爱学习 发表于 2022-7-23 15:12:30 | 显示全部楼层
还要装这个啊,回头去下载安装
xuanxiao 发表于 2022-7-23 23:26:01 | 显示全部楼层
爱家爱学习 发表于 2022-7-23 15:12
还要装这个啊,回头去下载安装

是的 安装了默认就有了驱动程序啦,你可以参考图片去核实下是否安装成功。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表

在线客服

售前咨询
售后咨询
服务热线
023-58418553
微信公众号