Disconnected recordset ASP

Código ASP clásico

Una de las directrices ASP es liberar los objetos ADO tan pronto como sea posible para liberar los recursos de sistema utilizados por estos objetos. La característica conjunto de registros desconectado de ADO permite conjuntos de registros existe sin tener una conexión activa; Esto puede ahorrar recursos del servidor de base de datos y mejorar la escalabilidad.

Los registros desconectados se pueden utilizar para mantener el tiempo, en el que una conexión de base de datos está abierto, hasta un mínimo.

Si por ejemplo, usted tiene que recorrer grandes cantidades de registros de datos, tal vez en gran medida de manipulación antes de su uso, la conexión a la base de datos puede ser abierta por mucho tiempo. Tal vez lo suficientemente largo para ser un problema si hay muchos accesos concurrentes en la página.

Una solución a esto es a registros desconectados, que mantienen la conexión de base de datos abierta sólo el tiempo suficiente para que el conjunto de registros que es construir, de lo cual se cierra la conexión. A continuación, puede tomar su tiempo de bucle a través del conjunto de registros, sin necesidad de utilizar los recursos de base de datos.


Function GetRS(strSQL) ' Returns a disconnected recordset
  Const adOpenStatic = 3    
  Const adUseClient = 3
  Const adLockBatchOptimistic = 4
  Dim objCon
  Dim objRS
  Set objCon = Server.CreateObject("ADODB.Connection")
  objCon.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.mdb;")
  Set objRS = Server.CreateObject("ADODB.Recordset")
  objRS.CursorLocation = adUseClient
  objRS.Open strSQL, objCon, adOpenStatic, adLockBatchOptimistic
  Set objRS.ActiveConnection = Nothing
  Set GetRS = objRS
  objCon.Close
  Set objCon = Nothing
End Function

Function GetPersonList() ' Returns formatted data from the discon. recordset
  Dim objRS
  Dim strOutput
  Set objRS = GetRS("SELECT fullName, birthDate FROM persons")
  If Not objRS.State = 0 Then
    If Not objRS.EOF Then
      Do While Not objRS.EOF
        strOutput = strOutput & objRS.Fields("birthDate").value & _
          " " & objRS.Fields("fullName").value & "<br />" & vbcrlf
        objRS.MoveNext()
      Loop
    objRS.Close
    Set objRS = Nothing
    Else
      strOutput = "No items found"
    End If
  Else
    strOutput = "No output"
  End If
  GetPersonList = strOutput
End Function

Response.Write(GetPersonList()

tags:

En esta sección encontrarás una mezcla de códigos recopilados de fuentes públicas de Internet y otros creados por ASP TEAM. Compartimos recursos útiles de buena fe para formar una base de conocimiento en el desarrollo de aplicaciones en ASP Clásico.