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

نام تاپیک: بکاپ از sql express

  1. #1

    بکاپ از sql express

    سلام
    در برنامه ای نه اینجا گذاشتم تو فرم لود یک دیتابیس میسازه و تو چوشه data قرار میده
    با زدن دکمه back up یک بکاپ از بانک میگیره و تو درایو D:\ قرار میده
    مشکل اینجاست که بعضی وقتها این خطا رو میده:
    Unable to open the physical file "D:\Projects\backup\bim\Debug\data\data5_data".Ope rating system error 2: "2(error not found)".
    Could not attach file 'D:\Projects\backup\bim\Debug\data\data5_data' as database 'data5_data'.

    و وقتی بخایم دوباره بکاپ بگیریم میگه که این بانک قبلا attach شده و اجازه نمیده
    اگه ممکنه این کدو برام اصلاح کنید. یا یه راه بهتر برای بکاپ گیری نشون بدید به من
    ممنون
    فایل های ضمیمه فایل های ضمیمه

  2. #2
    کاربر دائمی آواتار rooshan2008
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    گیلان- لشت نشا
    سن
    37
    پست
    179

    نقل قول: بکاپ از sql express

    با سلام
    در ضمن مشکل شما در قسمت ماژول در رشته ارتباطی بود
    اول یه فرم باز کنید روش یک دکمه بزارید بعد این کدها رو توش بریزید.

    تعاریف

    Const conString AsString = "Server=.\sqlexpress;" & _
    "Integrated Security=SSPI;" & _
    "uid=sa;pwd=;database=Master"

    Dim Con2 AsNew SqlConnection()
    Dim sql AsString

    Dim Com AsNew SqlCommand
    Dim At AsNew SqlDataAdapter



    اتصال به بانک

    PublicSub Connect()
    Con2.ConnectionString = (conString)
    If Con2.State = ConnectionState.Closed Then Con2.Open()
    EndSub



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

    PublicFunction Execute(ByVal sql AsString) As DataTable
    Try

    Dim Tb AsNew DataTable
    With Com
    .CommandText = sql
    .Connection = Con2
    EndWith

    At.SelectCommand = Com
    At.Fill(Tb)
    Return Tb
    Catch ex As Exception
    ReturnNothing

    EndTry

    EndFunction



    این تابع برسی می کنید که بانک موزد نظر موجود می باشد یا خیر

    PublicFunction ExistDatabase(ByVal Databasename AsString) AsBoolean

    Try

    Dim strSQL = "sp_helpDb " & Databasename
    Dim tb1 As DataTable = Execute(strSQL)
    If tb1.Rows.Count Then

    ReturnTrue

    Else

    ReturnFalse

    EndIf

    Catch ex As Exception
    If Err.Number Then

    ReturnFalse

    EndIf

    EndTry

    EndFunction



    تابع ایجاد دیتابیس

    PrivateFunction CreateDatabase(ByVal Path AsString, ByVal name AsString) AsBoolean

    Dim strSQL AsString = Nothing

    IfNot ExistDatabase(name) Then

    Try

    strSQL =
    "CREATE DATABASE [" & name & "] ON PRIMARY " + _
    "( NAME = N'" + name + "', FILENAME = N'" + Path + name + "_data.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )"

    Execute(strSQL)
    Catch ex As Exception
    MsgBox(ex.Message)
    EndTry

    EndIf

    EndFunction




    تابع ایجاد پشتیبان

    PublicSub CreateBackup(ByVal Database AsString, ByVal Path AsString)
    Try

    SQL =
    "BACKUP DATABASE " + Database + " TO DISK = '" + Path + "' WITH NOFORMAT"

    Execute(sql)
    Execute(
    "Use Data1")
    MessageBox.Show(
    "OK ..." + vbCrLf + " Name = " + Database + vbCrLf + " Path =" + Path)
    Catch ex As Exception
    MsgBox(ex.Message)
    EndTry

    EndSub




    این کد را درForm_load قرار دهید

    Connect()
    CreateDatabase(
    "c:\backup\", "data1")




    این کد رو هم در رویداد کلیک Button قرار بدین

    Dim SF AsNew SaveFileDialog
    SF.ShowDialog()
    If Len(SF.FileName) > 0 Then

    CreateBackup(
    "data1", SF.FileName)
    EndIf



    در ضمن دوستان ببخشید از اینکه من کدها رو یکم بهم ریخته نوشتم

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

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