首页  新闻动态  文化知识  网络文摘  生活时尚  娱乐休闲  健康频道  外语学习  软件教学  程序设计  独山图片  书店网站 
  程序设计 > Asp/Vbscript > 正文
 

ASP实现数据库仅在需要时打开

来源:独山在线 [2008-06-05]   浏览次数:516
我们在一个需要读写数据库的页面里包含类似<!-- #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使用模板生成静态页面
 
 
版权所有:独山在线 copyright ©2007-2024 www.dushan.net, All Rights Reserved.
   免责声明:本网转载或链接出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。
   本站为公益性网站,旨在宣传独山,如有侵犯请和我们联系,经查实将及时删除! 工信部备案:黔ICP备07001263号-3