0 امتیاز

سلام 

من یه برنامه نوشتم حالا میخوام براش یه قسمت بکابگیری رو ایجاد کنم 

من فیلم روش SMO  رو دیدم و دقیقا مشابه آن نوشتم ولی انجام نشد

اول dll های رو به رفرنس اضافه کردم 

Microsoft.SqlServer.ConnectionInfo.dll

Microsoft.SqlServer.Management.Sdk.Sfc.dll

Microsoft.SqlServer.Smo.dll

Microsoft.SqlServer.SmoExtended.dll

Microsoft.SqlServer.SqlEnum.dll

این dll ها رو اضافه کردم 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.SqlServer.Management;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
using System.Data.SqlClient;
using Microsoft.Win32;
using DA;
using BL;

namespace shop_csharp.Forms
{
    public partial class Frm_Backup : Form
    {

        public Frm_Backup()
        {
            InitializeComponent();

        }
        string conbackup = "Data Source=Reza;Initial Catalog=shop3L_DB;Integrated Security=True";

        private void btn_backup_Click(object sender, EventArgs e)
        {
            using (SqlConnection con = new SqlConnection(conbackup))
            {
                ServerConnection srvConn = new ServerConnection(con);
                Server srvr = new Server(srvConn);

                if (srvr != null)
                { 
                    try
                    {
                        Backup backupdb = new Backup();
                        backupdb.Action = BackupActionType.Database;
                        backupdb.Database = "shop3L_DB";
                        SaveFileDialog savefd = new SaveFileDialog();
                        savefd.Filter = "Backup File (*.Bak)|*.Bak";
                        savefd.FileName = DateTime.Now.ToString("ddMMyyyy_HHmmss");
                        Nullable<bool> result = Convert.ToBoolean(savefd.ShowDialog());
                        if (result==true)
                        {
                            BackupDeviceItem bkpDevice = new BackupDeviceItem(savefd.FileName, DeviceType.File);
                            backupdb.Devices.Add(bkpDevice);
                            backupdb.SqlBackup(srvr);
                            MessageBox.Show("backup ok");

                        }
                    }
                    catch
                    {
                        MessageBox.Show(" no backup");

                     }
                    }
                }
            }
        }
    }

الان مشکلم کجاست 

باید دقیقا چیکار کنم 

2 پاسخ

+1 امتیاز
این dllها  رو هم باید در مسیر نصب sql  کپی کنی. انجام دادید؟(sdk\assemby).
+1 امتیاز

من با همین شیوه بک آپ گرفتم : این هم کدهام :

private static Server GetServer()
        {
            SqlConnection con = new SqlConnection();
            SqlCommand com = new SqlCommand();
            con.ConnectionString = "server=localhost;Integrated security=true;database=matab";
               
            ServerConnection conn = new ServerConnection(con);
            Server myServer = new Server(conn);
            return myServer;
        }

        private void Backup1(string strFileName)
        {
            Backup bkp = new Backup();
            Server srv = GetServer();

            this.Cursor = Cursors.WaitCursor;
            this.dataGridView1.DataSource = string.Empty;
            try
            {
                string fileName = strFileName;
                string databaseName = "matab";

                bkp.Action = BackupActionType.Database;
                bkp.Database = databaseName;
                bkp.Devices.AddDevice(fileName, DeviceType.File);
               
                bkp.PercentCompleteNotification = 10;
               
                bkp.SqlBackup(srv);
                MessageBox.Show("Database was successfully backed up to: " + fileName, "Info");
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                this.Cursor = Cursors.Default;
               
            }
        }

 

مشکلم حل شد

من تو Desktop ذخیره میکردم عمل نمیکرد

ولی تو سایر درایوها به جز درایو  ویندوز زدم سیو شد

الان مشکلش اینه تو درایو ویندوز سیو نمیشه
توسط (123 امتیاز) 2 5
چی رو در درایو ویندوز ذخیره میکنین؟

1- افزودن رفرنس بود که انجام دادی.

2-بعدش هم کدهاتونه که نوشتی . دیگه چیزی نمیمونه.
توسط (908 امتیاز) 1
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,919 کاربر

دسته بندی ها

...