您现在的位置是:焦点 >>正文

asp连接access数据库代码

焦点698人已围观

简介ASP连Access,说穿了就是两行代码的事。但网上教程总爱绕弯子,什么DSN、什么OLE DB,看着就头大。我当年第一次写这玩意儿,愣是折腾了三个小时,最后发现就是个连接字符串写错了冒号。 直接上代 ...

ASP连Access,接a据库说穿了就是代码两行代码的事。但网上教程总爱绕弯子,接a据库什么DSN、代码什么OLE DB,接a据库看着就头大。代码我当年第一次写这玩意儿,接a据库愣是代码折腾了三个小时,最后发现就是接a据库个连接字符串写错了冒号。

直接上代码,代码这是接a据库最朴素的写法:

<% Dim conn, dbPath dbPath = Server.MapPath("data.mdb") Set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath %>

就这么简单。Provider那串是代码Access的驱动,Data Source后面跟的接a据库是数据库文件的物理路径。Server.MapPath是代码ASP里最常用的函数,它能把虚拟目录转成服务器上的接a据库真实路径。你总不能写"C:\inetpub\wwwroot\data.mdb"这种死路径吧?换台服务器就全废了。

但这里有个坑,得单独拎出来说。Access 2007以后的数据库文件后缀是.accdb,那Provider就得换成"Microsoft.ACE.OLEDB.12.0"。老掉牙的Jet驱动认不了新格式,这问题我见人踩过无数次。你要是拿个.accdb文件配Jet驱动,报错信息能给你绕晕——什么"未找到提供程序",其实压根就是版本不匹配。

连接打开之后,就该干正事了。比如查个表:

<% Dim rs, sql sql = "SELECT * FROM users WHERE id=1" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn, 1, 1 If Not rs.EOF Then Response.Write rs("username") End If rs.Close Set rs = Nothing %>

注意rs.Open那四个参数。第三个是游标类型,1代表键集游标,能前后翻;第四个是锁定类型,1是只读。你要是想更新数据,锁定类型就得改成3(乐观锁定),不然直接报错。这些数字记不住没关系,但得知道有这回事,不然调试起来跟无头苍蝇似的。

用完记得关连接,这是老生常谈,但真没几个人做到。ASP是单线程的,Access数据库文件又是个单用户文件,你不释放连接,别人就卡那儿了。我见过一个企业网站,后台老是报"数据库被锁定",查了半天,就是某个页面忘了关conn,导致IIS进程一直占着那个.mdb文件。

最后说个个人观察。现在都2024年了,还在用ASP+Access的,多半是维护老系统的苦命人。新项目谁还这么干?但话说回来,这套组合对小流量网站其实挺够用——几百条数据、几十个人同时访问,Access完全扛得住。你别听人瞎说Access不稳定,那多半是代码写得太烂,连接没关、SQL乱写,数据库能不炸吗?

代码写完,记得把数据库文件的权限设好。IIS进程要有读写权限,但别给Everyone完全控制,不然谁都能下载你的.mdb文件——那里面可都是明文密码。用Access做后台的,十个里有八个没设数据库密码,跟裸奔似的。

就这些。连接字符串、打开、操作、关闭,四步走完,ASP连Access这点事就算翻篇了。

Tags:

相关文章

  • 找回漏洞

    焦点

    老周在系统里找那个丢失的订单号,找了整整四个小时。他翻遍了交易日志,查了数据库的每一个角落,甚至把服务器重启了三遍。最后他发现,问题根本不在他负责的模块里——是隔壁部门的老李,在三个月前的一次接口升级 ...

    【焦点】

    阅读更多
  • 网站文章下载

    焦点

    上周想存一篇公众号文章,长按选中、复制、粘贴到备忘录,格式全乱,图片一张没过来。又试了浏览器自带的“保存网页”,得到一个文件夹,里面躺着几十个碎文件,HTML打开排版错位。那一刻我意识到,大多数人根本 ...

    【焦点】

    阅读更多
  • DDOS防护是什么

    焦点

    ```html 凌晨三点,手机开始疯狂弹窗。不是微信消息,是服务器监控的报警短信——带宽跑满,CPU飙到98%,网站打不开了。我爬起来打开电脑,日志里全是来自全球各地IP的请求,每秒几十万次,像洪水一 ...

    【焦点】

    阅读更多


友情链接