การสำรองข้อมูลและการกู้คืนฐานข้อมูลเซิร์ฟเวอร์ sql ออนไลน์ของ ASP เป็นวิธีแก้ไขปัญหาชั่วคราวสำหรับเพื่อนที่ไม่มีการเชื่อมต่อระยะไกลของ sqlserver หรือการดาวน์โหลดแพ็คเกจ ซึ่งอาจไม่มีประสิทธิผลสำหรับข้อมูลขนาดใหญ่ asp ฐานข้อมูลเซิร์ฟเวอร์ sql สำรองออนไลน์:
1. สำรองข้อมูล sqlserver
คัดลอกรหัสรหัสดังต่อไปนี้:
-
SQL=ชื่อฐานข้อมูลฐานข้อมูลสำรองไปยังดิสก์='&Server.MapPath(backup)&/&backuptext.dat&'
ตั้งค่า cnn=Server.createobject(adodb.connection)
ไดรเวอร์ cnn.open={เซิร์ฟเวอร์ SQL};เซิร์ฟเวอร์=ชื่อเซิร์ฟเวอร์;uid=sa;pwd=
cnn.รัน SQL
เมื่อเกิดข้อผิดพลาดดำเนินการต่อต่อไป
ถ้าผิดพลาด <>0 แล้ว
response.wrITe ข้อผิดพลาด:&err.Descripting
อื่น
response.wrITe สำรองข้อมูลสำเร็จ!
สิ้นสุดถ้า
-
2. กู้คืน sqlserver
คัดลอกรหัสรหัสดังต่อไปนี้:
-
SQL=กู้คืนชื่อฐานข้อมูลฐานข้อมูลจาก disk='&Server.MapPath(backup)&/&backuptext.dat&'
ตั้งค่า cnn=Server.createobject(adodb.connection)
ไดรเวอร์ cnn.open={เซิร์ฟเวอร์ SQL};เซิร์ฟเวอร์=ชื่อเซิร์ฟเวอร์;uid=sa;pwd=
cnn.รัน SQL
เมื่อเกิดข้อผิดพลาดดำเนินการต่อต่อไป
ถ้าผิดพลาด <>0 แล้ว
response.wrITe ข้อผิดพลาด:&err.Descripting
อื่น
response.wrITe การกู้คืนข้อมูลสำเร็จ!
สิ้นสุดถ้า
-
หลักการเข้าถึงจะเหมือนกัน
คัดลอกรหัสรหัสดังต่อไปนี้:
-
-
ฟังก์ชั่น CopyTo (ByVal cFile, ByVal toFile)
cFile=Server.MapPath(cFile) 'ไฟล์ที่จะสำรองข้อมูล'
toFile=Server.MapPath(toFile) 'ไฟล์สำรอง
Dim cFso,cf
ตั้งค่า cFso=Server.CreateObject (Scripting.FileSystemObject)
cFso.fileexists (cFile)
cFso.Copyfile cFile,toFile
ฟังก์ชั่นสิ้นสุด
-
'ASP ดำเนินการสำรองและกู้คืนการดำเนินการฐานข้อมูล ACCESS
'หน้านี้คือ databackup.asp'
สลัว dbpath,bkfolder,bkdbname,fso,fso1
โทรหลัก ()
โทร main2()
เชื่อมต่อปิด
ตั้งค่า conn=ไม่มีอะไร
หลักย่อย ()
ถ้า request(action)=Backup แล้ว
เรียกข้อมูลสำรอง ()
อื่น
-
<table cellspacing=1 cellpadding=1 align=center width=90%>
<tr>
<ความสูงที่=25 >
<B>การสำรองฐานข้อมูล</B>
</th>
</tr>
<รูปแบบวิธีการ=การกระทำการลงรายการบัญชี=databackup.asp?การกระทำ=การสำรองข้อมูล>
<tr>
<td ความสูง=100 style=line-height:150%>
เส้นทางฐานข้อมูลปัจจุบัน (เส้นทางสัมพัทธ์):
<ชนิดอินพุต=ขนาดข้อความ=ชื่อ 15=ค่า DBpath=../mdb/database.mdb><BR>
ไดเรกทอรีฐานข้อมูลสำรอง (เส้นทางสัมพันธ์):
<input type=text size=15 name=bkfolder value=../Databackup> หากไม่มีไดเร็กทอรี โปรแกรมจะสร้างมันขึ้นมาโดยอัตโนมัติ<BR>
ชื่อฐานข้อมูลสำรอง (กรอกชื่อ):
<input type=text size=15 name=bkDBname value=database.mdb> หากไดเร็กทอรีสำรองมีสิ่งนี้
ไฟล์จะถูกเขียนทับ หากไม่มีอยู่ ไฟล์นั้นจะถูกสร้างขึ้นโดยอัตโนมัติ<BR>
<input type=submIT value=ข้อมูลสำรอง><hr align=ความกว้างตรงกลาง=90% color=#999999></td>
</tr>
</แบบฟอร์ม>
</ตาราง>
-
สิ้นสุดถ้า
จบย่อย
ย่อย main2()
ถ้า request(action)=Restore แล้ว
Dbpath=request.form(Dbpath)
backpath=request.form(แบ็คพาธ)
ถ้า dbpath= แล้ว
response.wrITe โปรดป้อนชื่อเต็มของฐานข้อมูลที่คุณต้องการกู้คืน
อื่น
Dbpath=server.mappath(Dbpath)
สิ้นสุดถ้า
backpath=server.mappath (แบ็คพาธ)
Response.wrITe แบ็คพาธ
ตั้งค่า Fso=server.createobject(scripting.filesystemobject)
ถ้า fso.fileexists(dbpath) แล้ว
fso.copyfile Dbpath, Backpath
response.wrITe <font color=red>กู้คืนข้อมูลสำเร็จแล้ว! </font>
อื่น
response.wrITe <font color=red>ไม่มีไฟล์สำรองสำหรับคุณในไดเร็กทอรีสำรอง! </font>
สิ้นสุดถ้า
อื่น
-
<table align=center cellspacing=1 cellpadding=1 width=90%>
<tr>
<ความสูงที่=25 >
<B>กู้คืนฐานข้อมูล</B>
</th>
</tr>
<รูปแบบวิธีการ=การกระทำการลงรายการบัญชี=databackup.asp?การกระทำ=การคืนค่า>
<tr>
<td ความสูง=100>
เส้นทางฐานข้อมูลสำรอง (สัมพันธ์):
<ชนิดอินพุต=ขนาดข้อความ=ชื่อ 30=ค่า DBpath=../Databackup/database.mdb> <BR>
เส้นทางฐานข้อมูลปัจจุบัน (สัมพันธ์):
<ชนิดอินพุต=ขนาดข้อความ=30 ชื่อ=ค่าแบ็คพาธ=../mdb/database.mdb><BR>
<ประเภทอินพุต=ค่า submIT=กู้คืนข้อมูล> <ความกว้างชม=90% align=สีกึ่งกลาง=#999999>
<font color=#666666>·หมายเหตุ: เส้นทางทั้งหมดเป็นเส้นทางสัมพัทธ์</font></td>
</tr>
</แบบฟอร์ม>
</ตาราง>
-
สิ้นสุดถ้า
จบย่อย
ข้อมูลสำรองย่อย ()
Dbpath=request.form(Dbpath)
Dbpath=server.mappath(Dbpath)
bkfolder=request.form(bkfolder)
bkdbname=request.form(bkdbname)
ตั้งค่า Fso=server.createobject(scripting.filesystemobject)
ถ้า fso.fileexists(dbpath) แล้ว
ถ้า CheckDir(bkfolder) = True แล้ว
fso.copyfile dbpath,bkfolder& //& bkdbname
อื่น
MakeNewsDir bkfolder
fso.copyfile dbpath,bkfolder& //& bkdbname
สิ้นสุดถ้า
response.wrITe <font color=red>การสำรองฐานข้อมูลสำเร็จแล้ว พาธฐานข้อมูลที่คุณสำรองไว้คือ &bkfolder& //& bkdbname+</font>
อื่น
response.wrITe <font color=red>ไม่พบไฟล์ที่คุณต้องการสำรองข้อมูล </font>
จบถ้า
จบย่อย
'-----------------ตรวจสอบว่ามีไดเร็กทอรีบางตัวอยู่หรือไม่------------------
ฟังก์ชั่น CheckDir (เส้นทางโฟลเดอร์)
folderpath=Server.MapPath(.)&//&folderpath
ตั้งค่า fso1 = CreateObject(Scripting.FileSystemObject)
ถ้า fso1.FolderExists(FolderPath) แล้ว
'มีอยู่
CheckDir = จริง
อื่น
'ไม่มีอยู่จริง
CheckDir = เท็จ
จบถ้า
ตั้งค่า fso1 = ไม่มีเลย
ฟังก์ชันสิ้นสุด
'--------สร้างไดเร็กทอรีตามชื่อที่ระบุ---------
ฟังก์ชั่น MakeNewsDir (ชื่อโฟลเดอร์)
สลัวฉ
ตั้งค่า fso1 = CreateObject(Scripting.FileSystemObject)
ตั้งค่า f = fso1.CreateFolder (ชื่อโฟลเดอร์)
MakeNewsDir = จริง
ตั้งค่า fso1 = ไม่มีเลย
ฟังก์ชันสิ้นสุด
-