Por ASP clásico / 14/12/2015 @ 11:37:28 / 1387 visitas
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()
Descubre más sobre cómo simplificar y optimizar tu trabajo empresarial en el Blog de CoreASP.
Descargo de Responsabilidad:
El contenido y los recursos que ofrecemos en CoreASP están destinados únicamente a proporcionar herramientas y ejemplos prácticos para el desarrollo en ASP Clásico. Esta información es de carácter general y no debe considerarse asesoramiento profesional o técnico específico para tu proyecto. Aunque hacemos todo lo posible por asegurar la calidad y precisión de los recursos compartidos, no garantizamos que sean completamente libres de errores o que se ajusten perfectamente a todas las situaciones. CoreASP no se responsabiliza por cualquier pérdida, daño o inconveniente derivado del uso directo o indirecto de los recursos o información proporcionada. Además, CoreASP no respalda ni asume responsabilidad por enlaces o contenido de terceros que puedan estar referenciados en nuestra plataforma. Todos los derechos de propiedad intelectual sobre el contenido y recursos publicados en CoreASP pertenecen a CoreASP o a sus respectivos propietarios, y su uso está sujeto a las condiciones de la licencia especificada para cada recurso. Nos reservamos el derecho de modificar este descargo de responsabilidad en cualquier momento sin previo aviso. Para más detalles, consulta el documento completo de términos y condiciones.
13/07/2025 @ 10:56:59
23/05/2025 @ 14:09:59
07/04/2025 @ 07:54:51
29/03/2025 @ 16:49:42
12/02/2025 @ 10:15:42
21/01/2025 @ 16:21:11