技巧文章:實用的ASP串連資料庫的函數

來源:互聯網
上載者:User
函數|技巧|串連資料庫

   細心的開發人員有時會想到,我們在一個需要讀寫資料庫的頁面裡包含類似<!-- #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



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.