Disconnected recordset ASP
Código ASP clásico
- Por CoreASP /
- 14/12/2015 @ 11:37:28 /
- 1019 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 recordsetConst adOpenStatic = 3Const adUseClient = 3Const adLockBatchOptimistic = 4Dim objConDim objRSSet 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 = adUseClientobjRS.Open strSQL, objCon, adOpenStatic, adLockBatchOptimisticSet objRS.ActiveConnection = NothingSet GetRS = objRSobjCon.CloseSet objCon = NothingEnd Function
Function GetPersonList() ' Returns formatted data from the discon. recordsetDim objRSDim strOutputSet objRS = GetRS("SELECT fullName, birthDate FROM persons")If Not objRS.State = 0 ThenIf Not objRS.EOF ThenDo While Not objRS.EOFstrOutput = strOutput & objRS.Fields("birthDate").value & _" " & objRS.Fields("fullName").value & "<br />" & vbcrlfobjRS.MoveNext()LoopobjRS.CloseSet objRS = NothingElsestrOutput = "No items found"End IfElsestrOutput = "No output"End IfGetPersonList = strOutputEnd 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 CoreASP. Estos recursos se comparten de buena fe con el único objetivo de servir como base de conocimiento en el desarrollo de aplicaciones en ASP Clásico. CoreASP no garantiza la precisión, vigencia ni funcionamiento de los artículos o fragmentos de código publicados, y no se hace responsable por el uso que se les dé. Se recomienda siempre revisar, adaptar y probar el código antes de implementarlo en entornos de producción.