데이터베이스 프로그래밍을 위해 ASP에 내장된 ADO 구성 요소를 사용할 때 일반적으로 스크립트 시작 부분에서 연결을 열고 스크립트 끝에서 연결을 닫습니다. 그러나 대규모 스크립트의 경우 대부분의 경우 연결 열기 시간이 연결보다 길어집니다. 여는 데 시간이 훨씬 더 걸립니다. 따라서 서버 자원을 절약하기 위해서는 연결이 점유하고 있는 자원을 해제하기 위해 가능한 한 연결을 닫아야 하며, 레코드 세트를 닫지 않고 해당 레코드 세트의 연결을 닫는 기술을 연결 해제된 레코드 세트라고 하며, 레코드 세트 자체를 연결이 끊긴 레코드 세트라고 합니다.
아래에서는 이 기술의 사용을 설명하기 위해 예를 사용합니다. NorthWind.mdb는 Microsoft Access97과 함께 제공되는 데이터베이스이고 adovbs.inc 파일은 C:Program FilesCommon FilesSystemADO에서 찾을 수 있습니다.
< % @LANGUAGE= VBScript %>
<!--#includefile="adovbs.inc"-->
<%
Response.Expires = 0
Dim Cnn,objRS, strOut, strQ, strC
StrC= "Driver={Microsoft Access Driver( * .mdb)}; DBQ=" & Server.MapPath("asp24") & "NorthWind.mdb;"
'연결 설정
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.Open StrC
'생성 레코드 집합 개체
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation =adUseClient
objRS.CursorType = adOpenStatic
objRS.LockType = adLockOptimistic
strQ = "선택 이동통신사 ID, 회사 이름, 전화 FROM 이동통신사"
objRS.Open strQ , Cnn, , , adCmdText
Set objRS.ActiveConnection = Nothing '레코드 세트 연결 끊기
Cnn.Close '연결 닫기
Set Cnn = Nothing
Response.Write "<HTML><BODY>"
'연결이 끊긴 레코드 세트 사용
Do While(NotobjRS .EOF )
strOut = objRS("발송인 ID") & ", " & objRS("회사명") & ", " & objRS("전화")
Response.Write Server.HTMLEncode(strOut) & "<BR >"
objRS. MoveNext
Loop
Response.Write "<BR>레코드 추가 또는 삽입 준비: "
'데이터베이스를 업데이트해야 하는 경우 연결을 다시 설정하십시오.
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.Open strC
Set objRS .ActiveConnection = Cnn
objRS.Filter = "회사 이름 = 'Wu Feng'"
ObjRS.EOF이면
objRS.AddNew
objRS("회사 이름") = "Wu Feng"
objRS("전화") = "571-7227298"
objRS .Update
Response.Write "조건에 맞는 레코드가 없으면 추가하세요. <BR>"
Else
objRS("Telephone") = "571-7227071"
Response.Write "조건에 맞는 레코드가 있으면
추가하세요., 그런 다음 업데이트합니다. <BR>"
objRS.Update
End If
Set objRS.ActiveConnection = Nothing
Cnn.close
Set Cnn = Nothing
objRS.Close
Set objRS = Nothing
Response.Write "</BODY></HTML>"
%>