當前位置:首頁 » 數據倉庫 » 資料庫連接池怎麼寫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫連接池怎麼寫

發布時間: 2022-09-06 15:28:05

1. java中建立資料庫連接池,有哪幾個步驟

Context context=new InitialContext();
DataSource ds=(DataSource)context.lookup("java:comp/env/jdbc/"+projectName);這里的projectName指的是你的項目名稱然後在tomcatde 的\conf\Catalina\localhost目錄下配置一個和你項目名稱相同的xml文件文件的配置方法可以去網路下很多的,這樣就可以使用連接池了。

2. 面試時面試管要你寫一個資料庫連接池 怎麼寫(代碼)

ASP+access資料庫連接
<%
set conn= Server.CreateObject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("data/db.mdb")
%>
你應該反問他,你需要我寫那一種資料庫連接的代碼呢??因為不同的資料庫有不同的用法和安全性~~~
MSsql和mysql都算是比較安全的!但是就需要伺服器的支持,而access一般來說,只要伺服器支持ASP的就可以了!~~
還有其他特別的資料庫,例如:Oracle等等。都有不同的連接方法和代碼。如果不是很具體的說明使用那種資料庫,很難做出正確答案!
用我的和1樓的都可以的!只是資料庫不同~~~
還有你要問你是想我用什麼的語言實現。網頁類語言很多的!
常用的有:ASP,ASP.net,PHP,CGI,JSP。
各種的資料庫連接方式都不同,而代碼就更為不同了!
但是基本原理都和二樓的大為相似~~~
所以要看你的要求達到那個水平才行~~~

3. 如何編寫出高效的資料庫連接池

資料庫連接是一種關鍵的有限的昂貴的資源,這一點在多用戶的網頁應用程序中體現得尤為突出。對資料庫連接的管理能顯著影響到整個應用程序的伸縮性和健壯性,影響到程序的性能指標。資料庫連接池正是針對這個問題提出來的。資料庫連接池負責分配、管理和釋放資料庫連接,它允許應用程序重復使用一個現有的資料庫連接,而再不是重新建立一個;釋放空閑時間超過最大空閑時間的資料庫連接來避免因為沒有釋放資料庫連接而引起的資料庫連接遺漏。這項技術能明顯提高對資料庫操作的性能。

4. oracle的jdbc資料庫連接池怎麼寫

這個,自己寫就算了吧,能問出這個問題的 大多還是新手或者剛剛接觸到這個部分的老手。
建議你用開源的資料庫連接池,比如C3p0,Durib 這些。一個是成熟,該趟的坑大家都趟過,在網上可以快速找到解決方法。如國感興趣,有能力可以看看人家的代碼,進而實現自己的資料庫連接池。

關於,自己寫 大概需要兩個東西,一是實例池(commons-pool 被DBCP採用,Dbcp-Hibernate 的連接池)和代理模式。有了這兩個東西應該比較容易看懂資料庫連接池了。

5. 能不能用java,手動的自己寫一個資料庫連接池

用一個List來模擬連接池存放資料庫連接,當有請求使用連接的時候就從List提出來,並list.remove(index)。當使用完之後再add回來,如果List.size為空,就new一個連接。再用一個線程來定時監控List中連接的有效性。期間要記得定義幾個變數來記錄資料庫的連接數、「忙」連接數、空閑連接數、最大連接數、最小連接數等。至於如何建資料庫連接,這個我就不說了。
我的大致思路就是這樣,我也沒實際動手自己寫過,不知道成不成功!

6. 資料庫連接池的連接字元串怎麼寫..

點擊VS然後選擇伺服器資源管理器,點資料庫連接,然後添加連接,填入伺服器名,和用戶名密碼,選擇你要連接的資料庫名稱,就OK了.然後點擊屬性.你就可以看到連接的字元串是什麼..這是最簡單的..或者直接在wenconfig里寫<connectionStrings>
<add name="MeiDie" connectionString="server=你要連接的伺服器名;uid=用戶名;pwd=密碼;database=資料庫名稱"/>
</connectionStrings>

7. asp 資料庫連接池怎麼做

從網上找的,希望對你有所啟發
Asp實現的資料庫連接池功能函數分享
投稿:junjie
這篇文章主要介紹了Asp實現的資料庫連接池功能函數分享,本函數能夠加快網頁的訪問速度,降低資料庫的壓力,需要的朋友可以參考下
資料庫連接是一種關鍵的有限的昂貴的資源,這一點在多用戶的網頁應用程序中體現得尤為突出。對資料庫連接的管理能顯著影響到整個應用程序的伸縮性和健壯性,影響到程序的性能指標。資料庫連接池正是針對這個問題提出來的。資料庫連接池負責分配、管理和釋放資料庫連接,它允許應用程序重復使用一個現有的資料庫連接,而再不是重新建立一個;釋放空閑時間超過最大空閑時間的資料庫連接來避免因為沒有釋放資料庫連接而引起的資料庫連接遺漏。這項技術能明顯提高對資料庫操作的性能。
但是這項技術一般在java ,php ,.net 裡面運用到,asp很少用到,因為一些企業網站根本就不需要這樣的技術。
也不是不能使用,下面就是研究出來的asp版本,能夠加快網頁的訪問速度,降低資料庫的壓力。
1.資料庫連接文件 DbPool.asp
< %
Const PoolSize = 10
Const Connstr = "Driver={SQL Server};Server=(local);UID=sa;word=555;Database=db"

Function GetRandString(lenth)
Dim rndstr,i
Randomize
rndstr = ""
i = 1
do while i <= lenth
rndstr = rndstr & Chr(cint(((120 - 98 + 1) * Rnd )+ 97))
i = i + 1
loop
GetRandString = rndstr
End Function

Function CreateDbConn()
Dim DbConn,ConnKey
Set DbConn = Server.CreateObject("ADODB.Connection")
DbConn.Open Connstr
ConnKey = GetRandString(10)
DbPool.Add ConnKey,DbConn
End Function

Function GetDbConn()
Dim CurKey,Keys
If DbPool.Count > 0 Then
Keys = DbPool.Keys ' 獲取鍵名。
CurKey = Keys(0)
Response.Write "Cur DbConn Key Is : " & CurKey & "<br />"
Set Conn = Server.CreateObject("ADODB.Connection")
Set Conn = DbPool(CurKey)
If Conn.State = adStateClosed Then '如果這個連接已經關閉,將其從池裡注銷,再新建一個可用的連接並添加到池裡
DbPool.Remove CurKey
Call CreateDbConn() '新建一個連接並添加到池裡
Set GetDbConn = GetDbConn()
Else '否則的話,將其從池裡注銷,然後將復制的對象返回
DbPool.Remove CurKey
Set GetDbConn = Conn
Exit Function
End If
Else
Response.Write "連接池已用完,請重新初始化應用程序"
Response.End
End if
End Function

Function FreeDbConn(DbConn)
DbPool.Add GetRandString(10),DbConn
End Function
2.全局文件 global.asa
<object ID="DbPool" Progid="Scripting.Dictionary" Scope="Application" runat="server"></object>
<!--#include file="DbPool.asp"-->
< %
Sub Application_OnStart
Dim ConnKey
For i = 1 To PoolSize '建立指定數目的資料庫連接
CreateDbConn()
Next
End Sub

Sub Application_OnEnd
DbPool.RemoveAll
End Sub
%>
3.測試文件 test.asp
<!--#include file="DbPool.asp"-->
< %
Response.Write "Test Start:<br>"
Response.Write "Current Objects count : " & DbPool.Count & "<br />"

Set dbconn = Server.CreateObject("ADODB.Connection")
Set dbconn = GetDbConn()
Response.Write "get one connection from pool <br />"
Response.Write "Current Objects count : " & DbPool.Count & "<br />"

Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.open "select * from mkdb",dbconn,1,1
Do While Not rs.eof
Response.write Rs("v_oid") & "<br />"
Rs.movenext
loop

FreeDbConn(dbconn)
Response.Write "free one connection to pool <br />"
Response.Write "Current Objects count : " & DbPool.Count & "<br />"

%>

8. 如何寫喲個高並發的資料庫連接池

v.usn(+) order by segment_name ; 查看錶空間的使用情況 select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name;