Artikel ini terutama memperkenalkan berbagi fungsi kumpulan koneksi database yang diimplementasikan oleh Asp. Fungsi ini dapat mempercepat kecepatan akses halaman web dan mengurangi tekanan pada database.
Koneksi database adalah sumber daya yang penting, terbatas, dan mahal, terutama dalam aplikasi web multi-pengguna. Pengelolaan koneksi database dapat secara signifikan mempengaruhi skalabilitas dan ketahanan seluruh aplikasi serta mempengaruhi indikator kinerja program. Kumpulan koneksi database diusulkan untuk mengatasi masalah ini. Kumpulan koneksi database bertanggung jawab untuk mengalokasikan, mengelola, dan melepaskan koneksi database. Hal ini memungkinkan aplikasi untuk menggunakan kembali koneksi database yang ada alih-alih membuat kembali koneksi database rilis yang waktu idlenya melebihi waktu idle maksimum untuk menghindari kesalahan karena kegagalan rilis koneksi database. Disebabkan oleh koneksi database yang hilang. Teknologi ini secara signifikan dapat meningkatkan kinerja operasi database.
Namun teknologi ini umumnya digunakan di java, php, dan .net. Jarang digunakan karena beberapa website perusahaan tidak memerlukan teknologi tersebut sama sekali.
Bukan berarti tidak bisa digunakan, berikut versi asp yang sudah diteliti yang mampu mempercepat kecepatan akses halaman web dan mengurangi tekanan pada database.
1. File koneksi database DbPool.asp
< %Const PoolSize = 10Const Connstr = Driver={SQL Server};Server=(lokal);UID=sa;word=555;Database=db Fungsi GetRandString(lenth)Dim rndstr,iRandomizerndstr = i = 1do while i <= lenthrndstr = rndstr & Chr(cint(((120 - 98 + 1) * Rnd )+ 97))i = i + 1loopGetRandString = rndstrEnd Fungsi Fungsi CreateDbConn()Dim DbConn,ConnKeySet DbConn = Server.CreateObject(ADODB.Connection)DbConn. Buka ConnstrConnKey = GetRandString(10)DbPool.Tambahkan ConnKey,DbConnEnd Fungsi Fungsi GetDbConn()Dim CurKey,KeysIf DbPool.Count > 0 ThenKeys = DbPool.Keys ' Dapatkan nama kuncinya. CurKey = Keys(0)Response.Write Cur DbConn Key Is : & CurKey & <br />Set Conn = Server.CreateObject(ADODB.Connection)Set Conn = DbPool(CurKey)If Conn.State = adStateClosed Lalu 'Jika koneksi ini telah ditutup, logout dari pool, buat koneksi baru yang tersedia dan tambahkan ke pool DbPool.Hapus CurKeyCall CreateDbConn() 'Buat koneksi baru dan tambahkan ke pool Set GetDbConn = GetDbConn()Else 'Jika tidak, hapus Keluar dari kumpulan, lalu kembalikan objek yang disalin ke DbPool.Hapus CurKeySet GetDbConn = ConnExit FunctionEnd IfElseResponse.Write Kumpulan koneksi telah habis, harap inisialisasi ulang aplikasi Response.EndEnd ifEnd Function Function FreeDbConn(DbConn)DbPool. Tambahkan Fungsi GetRandString(10), DbConnEnd
2. File global global.asa
<object ID=DbPool Progid=Scripting.Dictionary Scope=Aplikasi runat=server></object><!--#include file=DbPool.asp-->< %Sub Application_OnStartDim ConnKeyFor i = 1 To PoolSize 'Buat nomor yang ditentukan dari koneksi DatabaseCreateDbConn()Sub SubSub Application_OnEndDbPool.RemoveAllEnd Sub%>
3. File uji test.asp
<!--#include file=DbPool.asp-->< %Response.Write Tes Mulai:<br>Response.Write Jumlah Objek Saat Ini : & DbPool.Count & <br /> Setel dbconn = Server.CreateObject(ADODB. Connection)Set dbconn = GetDbConn()Response.Write dapatkan satu koneksi dari pool <br />Response.Write Jumlah Objek Saat Ini : & DbPool.Count & <br /> Set Rs = Server.CreateObject(ADODB.Recordset)Rs.open pilih * dari mkdb,dbconn,1,1Do While Not rs.eofResponse.write Rs(v_oid) & <br />Rs.movenextloop FreeDbConn(dbconn)Response.Write gratis satu koneksi ke pool <br />Response.Write Current Objects hitungan : & DbPool.Hitungan & <br /> %>