细心的开发人员有时会想到,我们在一个需要读写数据库的页面里包含类似
<!-- #include file="conn.asp" -->的代码时,当你没有进行读取操作,数据库究竟是怎么样的状态呢?
那么,我们有没有办法让数据库连接仅在需要读取数据库时才打开,不读取时就没有任何动作呢,以下即提供这种思路,以求抛砖引玉。
这种思路即是将数据库连接代码封装在函数里,在需要读取时调用这个函数。
以下是SQL连接代码:
Function Open_conn()
dim Conn,Strconn
set Conn=server.createobject("adodb.connection")
Strconn = "Provider = Sqloledb; User ID = 数据库登录帐号; Password = 数据库登录密码; Initial Catalog = 数据库名称; Data Source = (local);"
Conn.open Strconn
set Open_conn=Conn
If Err Then
err.Clear
Conn.close:set Conn=nothing
Response.Write "对不起,数据库连接出错。"
Response.End
End If
End Function
调用方法:
将原来的
rs.open sql,conn
改成
rs.open sql,Open_conn()
以下是ACCESS连接代码:
Function Open_conn()
dim Dbpath,Conn
Dbpath=server.MapPath("数据库路径")
set Conn=server.createObject("ADODB.connection")
Conn.open "data source="&dbpath&";provider=microsoft.Jet.OLEDB.4.0;"
set Open_conn=Conn
If Err Then
err.Clear
Conn.close:set Conn=nothing
Response.Write "对不起,数据库连接出错。"
Response.End
End If
End Function
调用方法:
将原来的
rs.open sql,conn
改成
rs.open sql,Open_conn()
顺便提供一个同一服务器上可以跨站共享ACCESS数据库的老代码,也许有朋友用得着:
有时,我们有很多二级域名,可能需要让这些二级域名调用某同一个ACCESS数据库,在你不愿意使用SQL数据库的情况下,数据库连接可以采用以下办法。(特别提示:如果你的服务器做了FSO安全权限,需要将这个数据库目录设置为,允许你需要调用的各站的IIS用户有权访问修改。)
以下的数据库物理路径类似于 E:\目录\目录\数据库名
dim Conn,Strconn
Set Conn = Server.CreateObject("ADODB.Connection")
Strconn="Provider = Microsoft.Jet.OLEDB.4.0; "
Strconn=Strconn & "Data Source=数据库物理路径"
Conn.Open Strconn
If Err Then
err.Clear
Conn.close:set Conn=nothing
Response.Write "对不起,数据库连接出错。"
Response.End
End If
相关文章
- ASP下使用Access数据库需要注意的18条安全法则
- Asp.net(C#)读取数据库并生成JS文件制作首页图片切换效果(附demo源码下载)
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- ASP.NET MVC Filters 4种默认过滤器的使用【附示例】 数据库常见死锁原因及处理 .NET源码中的链表 多线程下C#如何保证线程安全? .net实现支付宝在线支付 彻头彻尾理解单例模式与多线程 App.Config详解及读写操作 判断客户端是iOS还是Android,判断是不是在微信浏览器打开
- asp下让数据库在需要读取的时候才打开