应用技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > ASP编程 > 应用技巧 > asp数据库在需要时打开

asp下让数据库在需要读取的时候才打开

作者:

ASP实现让数据库连接仅在需要读取数据库时打开,我们有没有办法让数据库连接仅在需要读取数据库时才打开,不读取时就没有任何动作呢,以下即提供这种思路,以求抛砖引玉。

细心的开发人员有时会想到,我们在一个需要读写数据库的页面里包含类似
<!-- #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

阅读全文