vB.N3T
جمعه 14 اسفند 1394, 14:18 عصر
با تشکر از مدیران و درخواست دارم این تاپیک رو حذف نکنن من تمام تاپیک های مشابه رو برسی کردم و به نتیجه نرسیدم
سلام دوستان من میخام از دیتابیس express با روش SMO بک اپ بگیرم ولی با این خطا رو به رو میشم
(بعد از زدن این تاپیک به این نکته رسیدم و پست اول ویرایش میکنم)
من از نسخه EXPRESS خود ویژوال استفاده کردم
این کد های که قرار دادم میره به نسخه کامل SQL SERVER که روی سیستمم نصب شده و اونجا دنبال دیتابیسی ک توی کد هست میگرده
به خاطر همین میگه دیتابیسی با این نام پیدا نشد...
چیکار باید کنم که کانکشن استرینک به بانکی که در نسخه EXPRESS هست بره و بک اپ رو بگیره
اینم کل کد های کلاس بک اپ و ریستور
namespace Farmer //bayad ba tavajoh be "namespace" barname, tanzim shavad
{
class Backup_Restore : IDisposable
{
private string BackUpConString = @"data source=.\\SQLEXPRESS;initial catalog=Database1;integrated security=True";//Connection String baraye Dastyabi be Data base Asli
private string ReStoreConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";//Connection String baraye dastresi be data base Master
//------------------------------------------------------------
public void Dispose()
{
GC.SuppressFinalize(this);
}
//-------------------------------------------------------------
public void ReStorMyDB()
{
if (MessageBox.Show("All Data Stored in the Database may change!!! \n If you agree, select \"Yes\".", "DataBase ReStore", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
SqlConnection.ClearAllPools();
using (SqlConnection con = new SqlConnection(ReStoreConString))
{
ServerConnection srvConn = new ServerConnection(con);
Server srvr = new Server(srvConn);
if (srvr != null)
{
try
{
Restore rstDatabase = new Restore();
rstDatabase.Action = RestoreActionType.Database;
rstDatabase.Database = "Database1";//Bayad ham nam ba Data base barname tanzim shavad
OpenFileDialog opfd = new OpenFileDialog();
opfd.Filter = "BackUp File|*.araDB";
if (opfd.ShowDialog() == DialogResult.OK)
{
BackupDeviceItem bkpDevice = new BackupDeviceItem(opfd.FileName, DeviceType.File);
rstDatabase.Devices.Add(bkpDevice);
rstDatabase.ReplaceDatabase = true;
rstDatabase.SqlRestore(srvr);
MessageBox.Show("Database succefully restored", "Server", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception e)
{
MessageBox.Show("ERROR: An error ocurred while restoring the database", "Application Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
}
public void BackUpMyDB()
{
using (SqlConnection con = new SqlConnection(BackUpConString))
{
ServerConnection srvConn = new ServerConnection(con);
Server srvr = new Server(srvConn);
if (srvr != null)
{
try
{
Backup bkpDatabase = new Backup();
bkpDatabase.Action = BackupActionType.Database;
bkpDatabase.Database = "Database1";//Bayad ham nam ba Data base barname tanzim shavad
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "BackUp File|*.araDB";
sfd.FileName = "BackUp_" + (DateTime.Now.ToShortDateString().Replace('/', '.'));
if (sfd.ShowDialog() == DialogResult.OK)
{
BackupDeviceItem bkpDevice = new BackupDeviceItem(sfd.FileName, DeviceType.File);
bkpDatabase.Devices.Add(bkpDevice);
bkpDatabase.SqlBackup(srvr);
MessageBox.Show("Bakup of Database successfully created", "Server", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception e) { MessageBox.Show(e.ToString()); }
}
}
}
}
}
و اینم کانکشن من در فایل app.config
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;User Instance=True"
ممنون میشم راهنمایی کنید
سلام دوستان من میخام از دیتابیس express با روش SMO بک اپ بگیرم ولی با این خطا رو به رو میشم
(بعد از زدن این تاپیک به این نکته رسیدم و پست اول ویرایش میکنم)
من از نسخه EXPRESS خود ویژوال استفاده کردم
این کد های که قرار دادم میره به نسخه کامل SQL SERVER که روی سیستمم نصب شده و اونجا دنبال دیتابیسی ک توی کد هست میگرده
به خاطر همین میگه دیتابیسی با این نام پیدا نشد...
چیکار باید کنم که کانکشن استرینک به بانکی که در نسخه EXPRESS هست بره و بک اپ رو بگیره
اینم کل کد های کلاس بک اپ و ریستور
namespace Farmer //bayad ba tavajoh be "namespace" barname, tanzim shavad
{
class Backup_Restore : IDisposable
{
private string BackUpConString = @"data source=.\\SQLEXPRESS;initial catalog=Database1;integrated security=True";//Connection String baraye Dastyabi be Data base Asli
private string ReStoreConString = @"Data Source=.\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";//Connection String baraye dastresi be data base Master
//------------------------------------------------------------
public void Dispose()
{
GC.SuppressFinalize(this);
}
//-------------------------------------------------------------
public void ReStorMyDB()
{
if (MessageBox.Show("All Data Stored in the Database may change!!! \n If you agree, select \"Yes\".", "DataBase ReStore", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
SqlConnection.ClearAllPools();
using (SqlConnection con = new SqlConnection(ReStoreConString))
{
ServerConnection srvConn = new ServerConnection(con);
Server srvr = new Server(srvConn);
if (srvr != null)
{
try
{
Restore rstDatabase = new Restore();
rstDatabase.Action = RestoreActionType.Database;
rstDatabase.Database = "Database1";//Bayad ham nam ba Data base barname tanzim shavad
OpenFileDialog opfd = new OpenFileDialog();
opfd.Filter = "BackUp File|*.araDB";
if (opfd.ShowDialog() == DialogResult.OK)
{
BackupDeviceItem bkpDevice = new BackupDeviceItem(opfd.FileName, DeviceType.File);
rstDatabase.Devices.Add(bkpDevice);
rstDatabase.ReplaceDatabase = true;
rstDatabase.SqlRestore(srvr);
MessageBox.Show("Database succefully restored", "Server", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception e)
{
MessageBox.Show("ERROR: An error ocurred while restoring the database", "Application Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
}
public void BackUpMyDB()
{
using (SqlConnection con = new SqlConnection(BackUpConString))
{
ServerConnection srvConn = new ServerConnection(con);
Server srvr = new Server(srvConn);
if (srvr != null)
{
try
{
Backup bkpDatabase = new Backup();
bkpDatabase.Action = BackupActionType.Database;
bkpDatabase.Database = "Database1";//Bayad ham nam ba Data base barname tanzim shavad
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "BackUp File|*.araDB";
sfd.FileName = "BackUp_" + (DateTime.Now.ToShortDateString().Replace('/', '.'));
if (sfd.ShowDialog() == DialogResult.OK)
{
BackupDeviceItem bkpDevice = new BackupDeviceItem(sfd.FileName, DeviceType.File);
bkpDatabase.Devices.Add(bkpDevice);
bkpDatabase.SqlBackup(srvr);
MessageBox.Show("Bakup of Database successfully created", "Server", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception e) { MessageBox.Show(e.ToString()); }
}
}
}
}
}
و اینم کانکشن من در فایل app.config
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;User Instance=True"
ممنون میشم راهنمایی کنید