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

نام تاپیک: back up گيري از طريق كدنويسي

  1. #1

    Angry back up گيري از طريق كدنويسي

    سلام
    اگر بخواهيم از طريق كد نويسي در فرممان يك دكمه داشته باشيم كه با كليك بر روي آن از بانك مورد نظرمان back up بگيريم چيكار بايد بكنيم . خواهشا دقيق تر توضيح بديد لطفا كدها كامل باشد چون من تازه كارم

    با تشكر

  2. #2
    کاربر دائمی آواتار AliRezaPro
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    PE Header
    پست
    1,054

    نقل قول: back up گيري از طريق كدنويسي

    شما سرچ کردید؟با کدوم کد مشکل دارید؟کد را بزارید
    کار خاصی که قرار نیست انجام بشه
    مثلا با این کد چه مشکلی داری؟
    MessageBox.Show("در حین عملیات به چیزی دست نزنید");
    System.IO.Directory.CreateDirectory(@"C:\BackupDat abaseLibrary");
    //پشتیبان گیری از بانک اطلاعاتی
    SqlConnection con = new SqlConnection();
    con.ConnectionString = "Data Source=(local);database=Library;Integrated Security=SSPI";
    SqlCommand cmd = new SqlCommand();
    try
    {
    con.Open();
    //BACKUP DATABASE نام بانک اطلاعاتی TO DISK = 'مسیر پشتیبان گیری بانک اطلاعاتی'
    string query = "BACKUP DATABASE Library TO DISK = 'C:\\BackupDatabaseLibrary\\Backup.MDF'";
    cmd.CommandText = query;
    cmd.Connection = con;
    cmd.ExecuteNonQuery();
    con.Close();

    MessageBox.Show("پشتیبان گیری به درستی انجام شد");
    }
    catch
    {
    MessageBox.Show("اشکال در ارتباط با بانک اطلاعاتی");
    }

  3. #3

    نقل قول: back up گيري از طريق كدنويسي

    لطف كنيد در مورد اين دو خط بيشتر توضيح بديد


    //BACKUP DATABASE نام بانک اطلاعاتی TO DISK = 'مسیر پشتیبان گیری بانک اطلاعاتی'

    string query = "BACKUP DATABASE projectdb. TO DISK = 'C:\\BackupDatabaseLibrary\\Backup.MDF'";



    كدهاي شما رو در يك button نوشتم ولي

    اشکال در ارتباط با بانک اطلاعاتی

    صادر مي شود

    ديتابيس من tel ميباشد .

  4. #4
    کاربر دائمی آواتار AliRezaPro
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    PE Header
    پست
    1,054

    نقل قول: back up گيري از طريق كدنويسي

    ببینید کد از این واضح تر وجود نداره
    شما با استفاده از Query مخصوص به خودتون میتوانید تغییرات را اعمال کنید
    من در اونجا برای بانک خودن نوشتم
    ببینید در این خط
                             string query = "BACKUP DATABASE projectdb. TO DISK = 'C:\\BackupDatabaseLibrary\\Backup.MDF'";

    من ادرس رو به دلخواه خودم دادم
    شما اگه توضیح فارسی رو میخوندید یعنی واقعا باز هم براتون مبهم بود؟

  5. #5

    نقل قول: back up گيري از طريق كدنويسي


    private void button1_Click(object sender, EventArgs e)
    {
    MessageBox.Show("در حین عملیات به چیزی دست نزنید");

    System.IO.Directory.CreateDirectory(@"C:\BackupDat abaseLibrary");

    //پشتیبان گیری از بانک اطلاعاتی

    SqlConnection con = new SqlConnection();

    con.ConnectionString = "Data Source=(local);database=Library;Integrated Security=SSPI";

    SqlCommand cmd = new SqlCommand();
    try
    {
    con.Open();
    //BACKUP DATABASE نام بانک اطلاعاتی TO DISK = 'مسیر پشتیبان گیری بانک اطلاعاتی'
    string query = "BACKUP DATABASE projectdb TO DISK = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Backup'";



    cmd.CommandText = query;

    cmd.Connection = con;
    cmd.ExecuteNonQuery();

    con.Close();




    MessageBox.Show("پشتیبان گیری به درستی انجام شد");
    }

    catch

    {

    MessageBox.Show("اشکال در ارتباط با بانک اطلاعاتی");

    }
    }

    الان دقيقا اين كد را نوشتم

    string query = "BACKUP DATABASE projectdb TO DISK = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Backup'";

    كه مسير backup اس كيو ال هست ولي باز هم پيغام "اشکال در ارتباط با بانک اطلاعاتی مي ده

  6. #6
    کاربر دائمی آواتار علیرضا حسن زاده
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تــــــــــــــــــــــــــبریز
    پست
    897

    نقل قول: back up گيري از طريق كدنويسي

    با سلام خدمت دوست عزیز
    اگه هنوز مشکلت حل نشده و نمی تونی پشتیبان بگیری حتما سیستم فایلت NTFS هست موارد زیر رو انجام بده حتما جواب میگیری:
    1-یه فولدر تو یکی از درایو ها که می خوای فایل پشتیبان تو اون ذخیره بشه درست کن
    2-برو به قسمت Security پوشه و یوزر مروبط به نمونه SQL Server خودت رو برای اون پوشه انتخاب کن و دستیابی های خواندن/نوشتن رو برای اون فعال کن اگه همه دستیابی ها رو هم فعال کنی راحت تری
    بعد دستورات بالا رو انجام بده حتما موفق میشی
    توضیح اینکه اگه از یه درایو با فرمت FAT32 استفاده کنی این مشکلات رو نداری
    این پست رو هم ببین تقریبا کامل توضیح دادم:
    https://barnamenevis.org/showthread.php?p=856048

  7. #7
    کاربر دائمی آواتار ahrimaneahurai
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران
    پست
    554

    نقل قول: back up گيري از طريق كدنويسي

    اینم برای شما مشکلی داشتید در خدمتم
    فایل های ضمیمه فایل های ضمیمه

  8. #8
    کاربر دائمی آواتار AliRezaPro
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    PE Header
    پست
    1,054

    نقل قول: back up گيري از طريق كدنويسي

    نقل قول نوشته شده توسط csharpprogramer88 مشاهده تاپیک

    private void button1_Click(object sender, EventArgs e)
    {
    MessageBox.Show("در حین عملیات به چیزی دست نزنید");

    System.IO.Directory.CreateDirectory(@"C:\BackupDat abaseLibrary");

    //پشتیبان گیری از بانک اطلاعاتی

    SqlConnection con = new SqlConnection();

    con.ConnectionString = "Data Source=(local);database=Library;Integrated Security=SSPI";

    SqlCommand cmd = new SqlCommand();
    try
    {
    con.Open();
    //BACKUP DATABASE نام بانک اطلاعاتی TO DISK = 'مسیر پشتیبان گیری بانک اطلاعاتی'
    string query = "BACKUP DATABASE projectdb TO DISK = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Backup'";



    cmd.CommandText = query;

    cmd.Connection = con;
    cmd.ExecuteNonQuery();

    con.Close();




    MessageBox.Show("پشتیبان گیری به درستی انجام شد");
    }

    catch

    {

    MessageBox.Show("اشکال در ارتباط با بانک اطلاعاتی");

    }
    }
    الان دقيقا اين كد را نوشتم

    string query = "BACKUP DATABASE projectdb TO DISK = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Backup'";
    كه مسير backup اس كيو ال هست ولي باز هم پيغام "اشکال در ارتباط با بانک اطلاعاتی مي ده
    من تو پستم برات توضیح دادم
    اون کد برای بانک خودم بود و شما برای خودت باید تغییر بدی
    مثلا تو کانکشن نگاه کن ! اسم دیتابیس من هست که شما باید اسم دیتابیس خودت رو بزاری !

  9. #9

    نقل قول: back up گيري از طريق كدنويسي

    ضمن تقدير و تشكر از همه دوستاني كه به اين تاپيك سر زدن و تشكر بسيار ويژه از man7tomani يه برنامه آپلود مي كنم كه هم back up داره هم restore اميدوارم بدرد همه دوستان بخوره
    فایل های ضمیمه فایل های ضمیمه

  10. #10

    نقل قول: back up گيري از طريق كدنويسي

    دوستاني كه دانلود مي كنن بگن مشكل داره يا نه

  11. #11
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1387
    پست
    94

    نقل قول: back up گيري از طريق كدنويسي

    سلام دوست عزیز با این کد میتونین آدرس رو از خود کاربر بگیری فقط باید هم نام بانک رو در کد درست کنی و هم آدرس conection
    این کد رو در دکمه بک آپ گیریت بنویس
    string strFileName = string.Empty;
    saveFileDialog1.DefaultExt = "BAK";
    saveFileDialog1.FileName = "BackupFile";
    saveFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
    saveFileDialog1.FilterIndex = 1;
    saveFileDialog1.OverwritePrompt = true;
    saveFileDialog1.Title = "Backup SQL File";
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
    strFileName = saveFileDialog1.FileName;
    Backup(strFileName);
    }

    اینم در زیرش قرار بده
    private void Backup(string strFileName)
    {
    try
    {
    string command = @"BACKUP DATABASE [pardakht] TO DISK = N'" + strFileName + "' WITH NOFORMAT, NOINIT, NAME = N'pardakht-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
    this.Cursor = Cursors.WaitCursor;
    SqlCommand oCommand = null;
    SqlConnection oConnection = null;
    string scnn = @"Data Source=FERDOSIA-17A1DB;Initial Catalog=pardakht;Integrated Security=True";
    oConnection = new SqlConnection(scnn);
    if (oConnection.State != ConnectionState.Open)
    oConnection.Open();
    oCommand = new SqlCommand(command, oConnection);
    oCommand.ExecuteNonQuery();
    this.Cursor = Cursors.Default;
    oConnection.Close();
    MessageBox.Show("فایل پشتیبان با موفقیت ساخته شد", "پیام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch (Exception err)
    {
    this.Cursor = Cursors.Default;
    MessageBox.Show(err.Message+"اجازه دسترسی به پوشه مورد نظر داده نشده است", "Error",MessageBoxButtons.OK,MessageBoxIcon.Error) ;
    }
    }

    اینم برای ریستور کردن
    string strFileName = string.Empty;
    openFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
    openFileDialog1.FilterIndex = 1;
    openFileDialog1.Title = "Restore SQL File";

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    strFileName = openFileDialog1.FileName;
    Restore(strFileName);
    }

    اینم زیرش قرار بده
    private void Restore(string strFileName)
    {
    try
    {
    string command = "use master; RESTORE DATABASE [pardakht] FROM DISK = N'" + strFileName + "' WITH RESTRICTED_USER, FILE = 1, NOUNLOAD, REPLACE, STATS = 10; use pardakht;";
    this.Cursor = Cursors.WaitCursor;
    SqlCommand oCommand = null;
    SqlConnection oConnection = null;
    string scnn = @"Data Source=FERDOSIA-17A1DB;Initial Catalog=pardakht;Integrated Security=True";
    oConnection = new SqlConnection(scnn);
    if (oConnection.State != ConnectionState.Open)
    oConnection.Open();
    oCommand = new SqlCommand(command, oConnection);
    oCommand.ExecuteNonQuery();
    this.Cursor = Cursors.Default;
    MessageBox.Show("دستور با موفقیت انجام شد","پیام",MessageBoxButtons.OK,MessageBoxIc on.Information);
    this.Cursor = Cursors.Default;
    }
    catch (Exception err)
    {
    this.Cursor = Cursors.Default;
    MessageBox.Show("انجام دستور مورد نظر در حال حاضر امکان پذیر نمی باشد", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }

    موفق باشی

  12. #12

    نقل قول: back up گيري از طريق كدنويسي

    نقل قول نوشته شده توسط samanff2000 مشاهده تاپیک
    سلام دوست عزیز با این کد میتونین آدرس رو از خود کاربر بگیری فقط باید هم نام بانک رو در کد درست کنی و هم آدرس conection
    این کد رو در دکمه بک آپ گیریت بنویس
    string strFileName = string.Empty;
    saveFileDialog1.DefaultExt = "BAK";
    saveFileDialog1.FileName = "BackupFile";
    saveFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
    saveFileDialog1.FilterIndex = 1;
    saveFileDialog1.OverwritePrompt = true;
    saveFileDialog1.Title = "Backup SQL File";
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
    strFileName = saveFileDialog1.FileName;
    Backup(strFileName);
    }

    اینم در زیرش قرار بده
    private void Backup(string strFileName)
    {
    try
    {
    string command = @"BACKUP DATABASE [pardakht] TO DISK = N'" + strFileName + "' WITH NOFORMAT, NOINIT, NAME = N'pardakht-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
    this.Cursor = Cursors.WaitCursor;
    SqlCommand oCommand = null;
    SqlConnection oConnection = null;
    string scnn = @"Data Source=FERDOSIA-17A1DB;Initial Catalog=pardakht;Integrated Security=True";
    oConnection = new SqlConnection(scnn);
    if (oConnection.State != ConnectionState.Open)
    oConnection.Open();
    oCommand = new SqlCommand(command, oConnection);
    oCommand.ExecuteNonQuery();
    this.Cursor = Cursors.Default;
    oConnection.Close();
    MessageBox.Show("فایل پشتیبان با موفقیت ساخته شد", "پیام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch (Exception err)
    {
    this.Cursor = Cursors.Default;
    MessageBox.Show(err.Message+"اجازه دسترسی به پوشه مورد نظر داده نشده است", "Error",MessageBoxButtons.OK,MessageBoxIcon.Error) ;
    }
    }

    اینم برای ریستور کردن
    string strFileName = string.Empty;
    openFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
    openFileDialog1.FilterIndex = 1;
    openFileDialog1.Title = "Restore SQL File";

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    strFileName = openFileDialog1.FileName;
    Restore(strFileName);
    }

    اینم زیرش قرار بده
    private void Restore(string strFileName)
    {
    try
    {
    string command = "use master; RESTORE DATABASE [pardakht] FROM DISK = N'" + strFileName + "' WITH RESTRICTED_USER, FILE = 1, NOUNLOAD, REPLACE, STATS = 10; use pardakht;";
    this.Cursor = Cursors.WaitCursor;
    SqlCommand oCommand = null;
    SqlConnection oConnection = null;
    string scnn = @"Data Source=FERDOSIA-17A1DB;Initial Catalog=pardakht;Integrated Security=True";
    oConnection = new SqlConnection(scnn);
    if (oConnection.State != ConnectionState.Open)
    oConnection.Open();
    oCommand = new SqlCommand(command, oConnection);
    oCommand.ExecuteNonQuery();
    this.Cursor = Cursors.Default;
    MessageBox.Show("دستور با موفقیت انجام شد","پیام",MessageBoxButtons.OK,MessageBoxIc on.Information);
    this.Cursor = Cursors.Default;
    }
    catch (Exception err)
    {
    this.Cursor = Cursors.Default;
    MessageBox.Show("انجام دستور مورد نظر در حال حاضر امکان پذیر نمی باشد", "اخطار", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }

    موفق باشی


    با سلام دوست عزیز، با عنایت به کد های نوشته شما در تاپیک من توانستم بک آپ رو حل کنم اما وقتی می خوام رستور کنم این پیغام رو میده لطفا راهنمایی کنید با تشکر :
    +
    $exception {"Exclusive access could not be obtained because the database is in use.\r\nRESTORE DATABASE is terminating abnormally.\r\nChanged database context to 'master'.\r\nChanged database context to 'myTell'."} System.Exception {System.Data.SqlClient.SqlException}

  13. #13

    نقل قول: back up گيري از طريق كدنويسي

    نقل قول نوشته شده توسط J.Maheri مشاهده تاپیک
    با سلام دوست عزیز، با عنایت به کد های نوشته شما در تاپیک من توانستم بک آپ رو حل کنم اما وقتی می خوام رستور کنم این پیغام رو میده لطفا راهنمایی کنید با تشکر :
    +
    $exception {"Exclusive access could not be obtained because the database is in use.\r\nRESTORE DATABASE is terminating abnormally.\r\nChanged database context to 'master'.\r\nChanged database context to 'myTell'."} System.Exception {System.Data.SqlClient.SqlException}
    به پست 28 برید مشکلتون حل میشه
    http://www.barnamenevis.org/sh...=218782&page=3

  14. #14
    کاربر دائمی
    تاریخ عضویت
    تیر 1388
    محل زندگی
    نا کجا باد
    پست
    813

    نقل قول: back up گيري از طريق كدنويسي

    سلام به دوستان من برای restore از storedproceduer استفاده کرده ولی با پیغام روبرو شدم که اجازه restore را نمی دهد وبرای همین یک تایپیک زدم ولی انگار کسی نبود به من کمک کنه اما این را دیدم فعال است اینج ادامه بدهم شاید کسی مرا راهنمایی کند
    لطفا اگر ممکن است به آدرس این تایپیک مراجعه کنید و راهنمایی کنید
    با تشکر از دوستان
    http://www.barnamenevis.org/sh...d.php?t=232639

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

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