Asp 구현 데이터베이스 연결 탱크 기능 함수 공유
그러나 이 기술 은 일반적으로 자바,phop,.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 />"
%>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Asp 참조 형식 함수 코드 되 돌리 기set studentinstance = CreateStudent() if not isnull(studentinstance) then Response.write("StudentId:"&studentinstance.St...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.