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

نام تاپیک: Backup and Restore

  1. #1

    Backup and Restore

    با سلام خدمت دوستان.
    می خام از DB که در SQLexpress تعریف کردم بکاپ و رستور بنویسم.
    بکاپ رو نوشتم ولی رستور رو مشکل دارم.

    Public Sub Restore()
    Try
    Dim op As New Windows.Forms.OpenFileDialog
    SqlConnection.ClearAllPools()
    op.Filter = "Bak File|*.Bak"
    op.InitialDirectory = Application.StartupPath & "\Backup"
    If op.ShowDialog() = DialogResult.Cancel Then
    Exit Sub
    End If

    con = New SqlConnection("Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True")
    con.Open()
    Ct = New SqlCommand
    Ct.Connection = con
    Ct.CommandText = "Restore database [" + Application.StartupPath + "\Bime.mdf] from disk='" + op.FileName + "'"
    Ct.ExecuteNonQuery()
    con.Close()

    MessageBox.Show(" ", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
    Catch ex As Exception
    MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End Try
    End Sub


    اگر برنامه رو اجرا کنم و مستقیم به سراغ رستور برم .رستور انجام میشه ولی اگر در یکی از فرم ها برم و تراکنشی رو انجام بدم و بعد به سراغ رستور برم error میده.

    Exclusive access could not be obtained because the database is in use. RESTORE DATABASE is terminating abnormally

  2. #2
    کاربر تازه وارد آواتار mohammad.moosaei
    تاریخ عضویت
    مهر 1388
    محل زندگی
    kernel32.dll
    سن
    36
    پست
    79

    نقل قول: Backup and Restore

    سلام دوست عزیز :

    برای Restore می تونی از تابع زیر استفاده کنی ( به جای DatabaseName اسم دیتابیس و به جای Address هم می تونی آدرس فایل رو بهش بدی


    Public Sub RestoreData(ByVal Address As String)
    Try
    Dim Cn = New SqlConnection("server=.\sqlexpress;database=master ;integrated security=true")
    Cn.Open()
    Dc = New SqlCommand
    Dc.Connection = Cn
    Dc.CommandType = CommandType.Text
    Dc.CommandText = "ALTER DATABASE [DatabaseName] SET SINGLE_USER with ROLLBACK IMMEDIATE USE MASTER" + _
    " RESTORE DATABASE [DatabaseName] FROM DISK = N'" & Address & "' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10"
    Dc.ExecuteNonQuery()
    Cn.Close()
    Try
    Con.Open()
    Catch ex As Exception
    If Con.State = ConnectionState.Open Then Con.Close()
    End Try
    MessageBox.Show("بازیابی اطلاعات با موفقیت انجام شد", "بازیابی اطلاعات", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
    Catch ex As Exception
    MessageBox.Show("ClassIO -> RestoreData:" + vbNewLine + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
    If Con.State = ConnectionState.Open Then Con.Close()
    End Try
    End Sub

  3. #3

    نقل قول: Backup and Restore

    سلام دوست عزیز:

    Database: باید نام تنها باشه ؟ DB.mdf ؟ DB ? یا آدرس کامل باید بدم؟

    حالا با توجه به این تفاسیر با این error مواج شدم.

    User does not have permission to alter database 'C:\Users\Masood\Documents\Visual Studio 2008\Projects\Bime\Bime\bin\Debug\bime.mdf', or the database does not exist. ALTER DATABASE statement failed. Cannot open backup device 'C:\Users\Masood\Documents\Visual Studio 2008\Projects\Bime\Bime\bin\Debug\Backup\13890421#  15$39$4.Bak'. Operating system error 5(error not found). RESTORE DATABASE is terminating abnormally. Changed database context to 'master'." 

  4. #4

    نقل قول: Backup and Restore

    سلام مجدد به دوست عزیز.

    مجل حل شد.یکی از Connection ها باز بود که پیداش کردم و با کد خودم جواب میده.و 2 3 تا چیزی هم به خودم گفتم.
    چیز دیگه اینکه کد شما کماکان همان error را می دهد.

  5. #5
    کاربر تازه وارد آواتار mohammad.moosaei
    تاریخ عضویت
    مهر 1388
    محل زندگی
    kernel32.dll
    سن
    36
    پست
    79

    نقل قول: Backup and Restore

    سلام :

    والا این کد برای من درست جواب میده .
    راستی به جای نام دیتابیس فقط اسمش رو باید قرار بدید .

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

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