PDA

View Full Version : سوال: مشکل در بک آپ گیری از بانک ویژوال



461004
سه شنبه 22 اسفند 1391, 10:53 صبح
سلام یه سایت طراحی کردم به زبان Asp.net از بانک خود ویژوال استفاده کردم اما نمی دونم چه طوری باید به روش کد نویسی از سایتم بک اپ بگیرم ممنون میشم راهنماییم کنید
برنامه ام ویژوال استادیو 2008 هست

461004
سه شنبه 22 اسفند 1391, 11:14 صبح
کسی نمیتونه مشکل منو حل کنه لطفا کمــــــــــــــــــک

461004
چهارشنبه 23 اسفند 1391, 10:37 صبح
یعنی واقعا هیشکی نمیدونه چه طوری باید از بانک ویژوال به صورت کد نویسی بک آپ گرفت؟؟؟؟؟؟؟؟؟؟؟////////

saman6384
چهارشنبه 23 اسفند 1391, 11:08 صبح
چرا ندونه؟
این یه نمونه که تو یکی از برنامه هام استفاده کردم:چشمک:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
using System.Data;
using System.IO;
using ICSharpCode.SharpZipLib.Zip;


namespace DataProject
{
public partial class BackUpRestore : System.Web.UI.Page
{
string zipfileaddress = string.Format("\\Download\\files{0}.zip", DateTime.Now.ToFileTime());
string UploadDirectoryAddress = "\\Upload";
ZipOutputStream zipper;



string FileName;
string fullPath;
string address;
string file
{
set
{
ViewState["file"] = value;
}
get
{
if (ViewState["file"] == null) ViewState["file"] = "";
return ViewState["file"].ToString();
}
}
string database = "database";
BackupDeviceItem bdi;
Backup backup;
Restore restore;



Entities entities = new Entities();
protected void Page_Load(object sender, EventArgs e)
{


}

private void BackUp()
{
FileName = string.Format("database{0}.bak", DateTime.Now.ToFileTime());
fullPath = "/Download/BackUps";
address = Path.Combine(fullPath, FileName);
fullPath = Server.MapPath(fullPath);
if (!Directory.Exists(fullPath)) Directory.CreateDirectory(fullPath);
var fileaddress = Path.Combine(fullPath, FileName);
bdi = new BackupDeviceItem(fileaddress, DeviceType.File);
backup = new Backup();
backup.Database = database;
backup.Devices.Add(bdi);
backup.Initialize = true;

// add percent complete and complete event handlers
backup.PercentComplete +=
new PercentCompleteEventHandler(Backup_PercentComplete );
backup.Complete += new ServerMessageEventHandler(Backup_Complete);

Microsoft.SqlServer.Management.Smo.Server server = new Microsoft.SqlServer.Management.Smo.Server(new ServerConnection(new System.Data.SqlClient.SqlConnection(System.Configu ration.ConfigurationManager.ConnectionStrings["BackUpConnectionString"].ConnectionString)));
backup.SqlBackup(server);


}

private void Restore()
{
bdi = new BackupDeviceItem(file, DeviceType.File);
restore = new Restore();
restore.Database = database;
restore.Devices.Add(bdi);
// restore.FileNumber = restoreFileNumber;
restore.Action = RestoreActionType.Database;
restore.ReplaceDatabase = true;
// add percent complete and complete event handlers
restore.PercentComplete +=
new PercentCompleteEventHandler(Backup_PercentComplete );
restore.Complete += new ServerMessageEventHandler(Backup_Complete);

Microsoft.SqlServer.Management.Smo.Server server = new Microsoft.SqlServer.Management.Smo.Server(new ServerConnection(new System.Data.SqlClient.SqlConnection(System.Configu ration.ConfigurationManager.ConnectionStrings["BackUpConnectionString"].ConnectionString)));
restore.SqlRestore(server);
Database db = server.Databases[database];

db.SetOnline();
server.Refresh();
db.Refresh();

}

protected void Backup_PercentComplete(object sender, PercentCompleteEventArgs e)
{
}

protected void Backup_Complete(object sender, ServerMessageEventArgs e)
{
}



protected void BackUpFiles()
{
string _zipfile = Server.MapPath(zipfileaddress);
UploadDirectoryAddress = Server.MapPath(UploadDirectoryAddress);
FileStream zipfile = System.IO.File.Create(_zipfile);
// DirectoryInfo upload = new DirectoryInfo(UploadDirectoryAddress);
zipper = new ZipOutputStream(zipfile);
addZipEntry(UploadDirectoryAddress);
zipper.Finish();
zipper.Close();
}

protected void addZipEntry(string PathStr)
{
DirectoryInfo di = new DirectoryInfo(PathStr);
foreach (DirectoryInfo item in di.GetDirectories())
{
addZipEntry(item.FullName);
}
foreach (FileInfo item in di.GetFiles())
{
FileStream fs = System.IO.File.OpenRead(item.FullName);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
string strEntryName = item.FullName.Replace(UploadDirectoryAddress + "\\", "");
ZipEntry entry = new ZipEntry(strEntryName);
zipper.PutNextEntry(entry);
zipper.Write(buffer, 0, buffer.Length);
fs.Close();
}

}

}
}