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

نام تاپیک: مشکل در بکاپ یا کانکشن استرینگ؟

  1. #1
    کاربر تازه وارد آواتار md_davari
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    همه ایران سرای من است
    پست
    57

    مشکل در بکاپ یا کانکشن استرینگ؟

    با سلام خدمت شما عزیزان
    من برای بکاپ گیری از کانکشن استرینگ زیر استفاده میکنم
    @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector  y|\myDatabase.mdf;
    Initial Catalog=myDatabase;Integrated Security=True;User Instance=True";

    و کد بکاپ گیری به صورت زیر است
    string command = "BACKUP DATABASE myDatabase TO DISK='H:/dbBak/myDB.BAK  '";

    string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\myDatabase.mdf;
    Initial Catalog=myDatabase;Integrated Security=True;User Instance=True";


    SqlConnection conn = new SqlConnection(connectionString);
    SqlCommand com = new SqlCommand();
    com.Connection = conn;
    if (conn.State != ConnectionState.Open)
    {
    com.CommandText = command;
    conn.Open();
    com.ExecuteNonQuery();
    conn.Close();
    this.Cursor = Cursors.Default;
    MessageBox.Show("تهیه نسخه پشتیبان با موفقیت به پایان رسید");

    }
    }
    catch (Exception ex)
    {
    MessageBox.Show("Error Occured: " + ex.Message, "خطا");

    }

    ولی با پیغام خطای زیر مواجه میشم
    Unable to open the physical file "D:\Documents and Settings\smm\My Documents\Visual Studio 2008\Projects\backup_test\backup_test\bin\Debug\my Database.mdf". Operating system error 32: "32(error not found)".
    Cannot attach the file 'D:\Documents and Settings\smm\My Documents\Visual Studio 2008\Projects\backup_test\backup_test\bin\Debug\my Database.mdf' as database 'myDatabase'.
    میتونید به من کمک کنید
    خیلی گشتم ولی عیبم را پیدا نکردم.
    فایل فیزیکال موجوده و تمام اعمال insert , update, ... را با همین کانکشن استرینگ انجام میده ولی برای بک آپ گیر میده

  2. #2
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: مشکل در بکاپ یا کانکشن استرینگ؟

    دوست عزیز وقتی کانکشن اپلیکیشن شما به اینصورته


    @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\myDatabase.mdf;
    Initial Catalog=myDatabase;Integrated Security=True;User Instance=True";



    یعنی دیتابیس به SQL SERVER همیشه اتچت نیس و فقط در زمان لازم SQL SERVER با دیتابیس شما ارتباط برقرار میکنه

    در اینصورت یه کپی عادی فایلهای فیزیکی دیتابیس مورد رو حل میکنه و میشه بکاپ گیری

    استفاده از دستورات TSQL یا استفاده از SMO برای بکاپ گیری و بازیابی زمانی امکان پذیره که دیتابیس به SQL SERVER اتچت شده باشه

    موفق باشید.

  3. #3
    کاربر تازه وارد آواتار md_davari
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    همه ایران سرای من است
    پست
    57

    نقل قول: مشکل در بکاپ یا کانکشن استرینگ؟

    ممنون از Esmail Solhkhah به خاطر پاسخ خوبش
    می خواستم بدونم راهی نیست که با همین دستورات SQL بک آپ گرفت؟
    من برا اتچ کردن اتوماتیک دیتابیس (مثلا موقع نصب پروژه در سیستم نهایی) راهی بلد نیستم.

  4. #4
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: مشکل در بکاپ یا کانکشن استرینگ؟

    اگه میخاین با کد دیتابیس رو اتچ کنید


    CREATE DATABASE Archive ON (FILENAME = 'D:\SalesData\archdat1.mdf') FOR ATTACH ;

  5. #5
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: مشکل در بکاپ یا کانکشن استرینگ؟

    public static ArrayList GetDbNames(string serverConnectionString)
    {
    ArrayList ar = new ArrayList();
    try
    {
    string query = @"sp_databases";
    SqlConnection con = new SqlConnection(serverConnectionString);
    SqlCommand cmd = new SqlCommand(query, con);
    cmd.CommandType = CommandType.StoredProcedure;
    if (con.State != ConnectionState.Open)
    con.Open();
    SqlDataReader dr = cmd.ExecuteReader();
    while (dr.Read())
    {
    ar.Add(dr["Database_Name"].ToString());
    }
    dr.Close();
    con.Close();
    cmd.Dispose();
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    return ar;
    }


    public static bool DataBaseExists(string DataBaseName, string ServerConnectionString)
    {
    bool result = false;
    System.Collections.ArrayList ar = GetDbNames(ServerConnectionString);
    foreach (var dbname in ar)
    {
    if (dbname.ToString().ToLower() == DataBaseName.ToLower())
    result = true;
    }
    return result;
    }

    private void button4_Click(object sender, EventArgs e)
    {
    string ServerConnectionString = @"Data Source = .\sqlexpress; Initial Catalog = master; Integrated Security = sspi;";
    if (!DataBaseExists("MyDatabaseName",ServerConnection String))
    {
    // do Attacht Code
    }
    }

  6. #6
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: مشکل در بکاپ یا کانکشن استرینگ؟

    کد بالا برا سناریوی زیره:

    نیاز داریم اول برنامه چک کنیم که اگه دیتابیس اتچ نباشه اونو اتچ کنیم.

  7. #7
    کاربر تازه وارد آواتار md_davari
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    همه ایران سرای من است
    پست
    57

    نقل قول: مشکل در بکاپ یا کانکشن استرینگ؟

    در کد بالا یک storeProcedure به نام sp_databases وجود داره اگه ممکنه کد query آن را بگذراید

  8. #8
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: مشکل در بکاپ یا کانکشن استرینگ؟

    دوست عزیز این استور پروسیجر جزو استور پروسیجرهای دیتابیس مستره

    query شو میخای چیکار؟

  9. #9
    کاربر تازه وارد آواتار md_davari
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    همه ایران سرای من است
    پست
    57

    نقل قول: مشکل در بکاپ یا کانکشن استرینگ؟

    ببخشید
    تازه متوجه شدم که قضیه از چه قراره.
    حل شد
    متشکرم

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

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