نمایش نتایج 1 تا 5 از 5

نام تاپیک: back up & restor in csharp

  1. #1

    back up & restor in csharp

    سلام
    من یک ویندوز اپلیکیشن با C#‎نوشتم که پایگاه داده اش sqlexpress 2005 هست می خوام کدی از برنامه بک اپ بگیرم و بعد restor اش کنم از قطعه کدهای زیر استفاده کردم
    برای Backup جواب می ده ولی Restor هیچکدوم کار نمی کنه:


    1) backup


    saveFileDialog1.FileName="mehrBackup" + PersianDate.Now.Year.ToString() + '-' + PersianDate.Now.Month.ToString() + '-' + PersianDate.Now.Day.ToString() + ".bak";
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
    this.Cursor = Cursors.WaitCursor;
    string sConnect = Properties.Settings.Default.mehrConnectionString;
    string dbName;

    using (SqlConnection cnn = new SqlConnection(sConnect))
    {
    cnn.Open();
    dbName = cnn.Database.ToString();

    ServerConnection sc = new ServerConnection(cnn);
    Server sv = new Server(sc);

    string bacName = saveFileDialog1.FileName;
    BackupDeviceItem bdi = new BackupDeviceItem(@""+bacName, DeviceType.File);

    Backup bk = new Backup();
    bk.Devices.Add(bdi);
    bk.Action = BackupActionType.Database;
    bk.BackupSetDescription = "ArchiveDataBase:" + PersianDate.Now.ToShortDateString();
    bk.BackupSetName = "MehrBackupSet";
    bk.Database = dbName;
    bk.LogTruncation = BackupTruncateLogType.Truncate;

    bk.SqlBackup(sv);
    this.Cursor = Cursors.Default;
    MessageBox.Show("پشتیبان گیری کامل شده است!","پیغام",MessageBoxButtons.OK,MessageBoxIcon.Information);
    }

    2)restore

    string sConnect = Properties.Settings.Default.mehrConnectionString;
    string dbName;
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    this.Cursor = Cursors.WaitCursor;
    try
    {
    using (SqlConnection cnn = new SqlConnection(sConnect))
    {
    cnn.Open();
    dbName = cnn.Database.ToString();

    cnn.ChangeDatabase("master");
    cnn.Close();

    ServerConnection sc = new ServerConnection(cnn);
    Server sv = new Server(sc);

    // Check that I'm connected to the user instance
    // MessageBox.Show(sv.InstanceName.ToString());
    string s = openFileDialog1.FileName;
    // Create backup device item for the backup
    BackupDeviceItem bdi = new BackupDeviceItem(@""+s , DeviceType.File);

    // Create the restore object
    Restore resDB = new Restore();
    resDB.Devices.Add(bdi);
    resDB.NoRecovery = false;
    resDB.ReplaceDatabase = true;
    resDB.Database = dbName;

    // Restore the database
    resDB.SqlRestore(sv);
    this.Cursor = Cursors.Default ;
    MessageBox.Show("بازیابی داده ها تکمیل شد”);
    }



    پیغام خطا:

    Restore failed for Server 'SAHAR-C0F89F8D1\SQLEXPRESS'.
    {"An exception occurred while executing a Transact-SQL statement or batch."}
    'C:\\DOCUMENTS AND SETTINGS\\ADMINISTRATOR\\DESKTOP\\MEHRFINALVERSION-EDIT-ABHAR30FFTE\\MEHR\\BIN\\DEBUG\\MEHR.MDF' because it is in use by this session. It is recommended that the master database be used when performing this operation.\r\nRESTORE DATABASE is terminating abnormally."}


  2. #2

    نقل قول: back up & restor in csharp

    با سلام درباره این موضوع زیاد بحث شده شما باید ابتدا بانک اطلاعاتیتون رو تک کاربره کنید وسپس فایل بکاپتون رو ریستور کنید

  3. #3
    کاربر دائمی
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    آستارا-تهران
    پست
    357

    نقل قول: back up & restor in csharp


  4. #4
    کاربر دائمی آواتار mehdidanesh
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    یه جایی زیر سقف آسمون
    پست
    143

    نقل قول: back up & restor in csharp

    دوست عزیز این کدی که بالا نوشتی تو سی شارپ ویزاردی هم کار می کنه(پایگاه داده ای که توسط سی شارپ ایجاد شده)

  5. #5

    نقل قول: back up & restor in csharp

    دوست عزيز هم bckup وهم restore داره

    https://barnamenevis.org/showth...=194881&page=2
    برو اميدوارم مشكلتو حل كنه

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •