Red de conocimiento informático - Computadora portátil - ¿Cómo hacer un grupo de conexiones de base de datos ASP?

¿Cómo hacer un grupo de conexiones de base de datos ASP?

Desde Internet, espero que pueda inspirarte

Asp implementa la función de compartir el grupo de conexiones de bases de datos

Colaborador: junjie

Este artículo presenta Asp para implementar bases de datos agrupación de conexiones Uso compartido de funciones, esta función puede acelerar la velocidad de acceso a las páginas web y reducir la presión sobre la base de datos. Los amigos que lo necesiten pueden consultarla

La conexión a la base de datos es un recurso crítico, limitado y costoso, lo cual es. importante en web multiusuario Especialmente en la aplicación. La gestión de conexiones de bases de datos puede afectar seriamente la escalabilidad y solidez de toda la aplicación, afectando así las métricas de rendimiento del programa. La agrupación de conexiones de bases de datos puede resolver este problema. El grupo de conexiones de bases de datos es responsable de asignar, administrar y liberar conexiones de bases de datos. Permite que las aplicaciones reutilicen las conexiones de bases de datos existentes en lugar de restablecer una conexión de bases de datos que han estado inactivas durante más tiempo que el tiempo máximo de inactividad para evitar errores debidos. a no poder liberar las conexiones de la base de datos. La conexión de la base de datos se pierde. Esta técnica puede mejorar enormemente el rendimiento de las operaciones de la base de datos.

Sin embargo, esta tecnología se usa generalmente en java, php y .net, y rara vez se usa en asp, porque algunos sitios web corporativos no necesitan esta tecnología en absoluto.

No es que no se pueda utilizar. La siguiente es una versión ASP investigada, que puede acelerar el acceso a la página web y reducir la presión sobre la base de datos.

1. Archivo de conexión a la base de datos DbPool. asp

< %

Const PoolSize = 10

Const Connstr = "Driver={SQL Server};Server=(local);UID=sa;word = 555;Base de datos=db"

Función GetRandString(lenth)

Dim rndstr,i

Aleatorio

rndstr = ""

i = 1

hacer mientras i <.= longitud

rndstr = rndstr & Chr(cint(((120 - 98 + 1) * Rnd )+ 97))

i = i + 1

bucle

GetRandString = rndstr

Función final

Función CreateDbConn()

Dim DbConn,ConnKey

Establecer DbConn = Server.CreateObject("ADODB.

DbConn.Open Connstr

ConnKey = GetRandString(10)

DbPool.Add ConnKey,DbConn

Función final

Función GetDbConn()

Dim CurKey Keys

Si DbPool.Count > 0 Entonces

Keys = DbPool.Keys ' Obtiene el nombre de la clave.

CurKey = Claves(0)

Respuesta.Escribir "La clave Cur DbConn es: " & CurKey & "
"

Establecer Conn = Servidor .CreateObject("ADODB. Connection")

Set Conn = DbPool(CurKey)

If Conn.State = adStateClosed Then 'Si esta conexión está cerrada, cierre sesión en el grupo , crea una nueva conexión disponible y la agrega al grupo

DbPool. Eliminar CurKey

Llamar a CreateDbConn() 'Crea una nueva conexión y agregarla al grupo

Establecer GetDbConn = GetDbConn()

De lo contrario, elimínela del pool Darse de baja y devolver el objeto copiado

DbPool.

Agregue GetRandString(10),DbConn

Función final

2. Archivo global global.asa

< %

Sub Application_OnStart

Dim ConnKey

Para i = 1 To PoolSize 'Crear el número especificado de conexiones de base de datos

CreateDbConn()

Siguiente

End Sub

Sub Application_OnEnd

DbPool.RemoveAll

End Sub

%>

3.Archivo de prueba test.asp

< %

Respuesta.Escribe "Inicio de prueba:
"

Respuesta. Escriba "Recuento de objetos actuales: " & DbPool.Count & "
"

Establecer dbconn = Server.CreateObject("ADODB.Connection")

Establecer dbconn = GetDbConn( )

Response.Write "obtener una conexión del grupo
"

Response.Write "Recuento de objetos actuales: " & DbPool.Count & "
"

Establecer Rs = Server.CreateObject("ADODB.Recordset")

Rs.open "select * from mkdb",dbconn,1,1

Hacer mientras No rs.eof

Response.write Rs("v_oid") & "
"

Rs. movenext

bucle

FreeDbConn(dbconn)

Response.pool
"

Response.Write "Recuento de objetos actuales: " & DbPool.Count & "
"

%>