VERİTABANI SIKIŞTIR - ONAR
Veritabanında oluşan bazı hataları düzeltmek ve optimizasyonu sağlamak amacıyla belirli sıklıklala bu işlemi gerçekleştirmeniz önerilir.
<%
if request.querystring("mode") = "onar" then
on error resume next
dbklasor = "../database/"
dbyedek = "../yedek/"
sistemdb = dbklasor&"sistem.accdb"
yedekdb = dbyedek&"sistem-yedek.accdb"
yenidb = dbklasor&"sistem-yeni.accdb"
oldDB = Server.MapPath(sistemdb)
bakDB = Server.MapPath(yedekdb)
newDB = Server.MapPath(yenidb)
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile oldDB, bakDB, true
Set Engine = CreateObject("JRO.JetEngine")
prov = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source="
Engine.CompactDatabase prov & OldDB, prov & newDB
set Engine = nothing
FSO.DeleteFile oldDB
FSO.MoveFile newDB, oldDB
set FSO = nothing
%>
Veritabanı başarıyla onarıldı ve sıkıştırıldı!
<%end if%>
DİĞER YOL:
<%
On Error Resume Next
Response.ContentType = "text/html"
Response.Charset="ISO-8859-9"
Response.Charset="Windows-1254"
Session.LCID = 1055
Session.CodePage = 1254
%>
<%
Set dbyolu = Server.CreateObject("ADODB.Connection")
dbyolu = Server.MapPath("/data/XXX.mdb")
Conn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" & dbyolu
Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject")
ObjFSO.CopyFile dbyolu, Replace(dbyolu, ".mdb", "-yedek.mdb", 1, -1, 1)
%>
Veritabanın yedeği alınıyor...
<%=Replace(dbyolu, ".mdb", "-yedek.mdb", 1, -1, 1)%>
<%
Set objJetEngine = Server.CreateObject("JRO.JetEngine")
strCompactDB = Replace(dbyolu, ".mdb", "-atik.mdb", 1, -1, 1)
objJetEngine.CompactDatabase Conn, "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" & strCompactDB
%>
Bir kopyası oluşturuluyor...
<%=strCompactDB%>
<%ObjFSO.DeleteFile dbyolu%>
Eski veritabanı siliniyor...
<%=dbyolu%>
<%ObjFSO.MoveFile strCompactDB, dbyolu%>
Değiştirilen veritabanı
<%=strCompactDB%>
Yeni veritabanı
<%=dbyolu%>
Veritabanı başarıyla onarıldı ve sıkıştırıldı!
<%Set ObjFSO = nothing%>
<%Set objJetEngine = Nothing%>