saadi2
چهارشنبه 24 تیر 1388, 21:16 عصر
سلام
در برنامه ای نه اینجا گذاشتم تو فرم لود یک دیتابیس میسازه و تو چوشه data قرار میده
با زدن دکمه back up یک بکاپ از بانک میگیره و تو درایو D:\ قرار میده
مشکل اینجاست که بعضی وقتها این خطا رو میده:
Unable to open the physical file "D:\Projects\backup\bim\Debug\data\data5_data".Operating system error 2: "2(error not found)".
Could not attach file 'D:\Projects\backup\bim\Debug\data\data5_data' as database 'data5_data'.
و وقتی بخایم دوباره بکاپ بگیریم میگه که این بانک قبلا attach شده و اجازه نمیده
اگه ممکنه این کدو برام اصلاح کنید. یا یه راه بهتر برای بکاپ گیری نشون بدید به من
ممنون
rooshan2008
جمعه 26 تیر 1388, 02:35 صبح
با سلام
در ضمن مشکل شما در قسمت ماژول در رشته ارتباطی بود
اول یه فرم باز کنید روش یک دکمه بزارید بعد این کدها رو توش بریزید.
تعاریف
Const conString As String = "Server=.\sqlexpress;" & _
"Integrated Security=SSPI;" & _
"uid=sa;pwd=;database=Master"
Dim Con2 As New SqlConnection()
Dim sql As String
Dim Com As New SqlCommand
Dim At As New SqlDataAdapter
اتصال به بانک
Public Sub Connect()
Con2.ConnectionString = (conString)
If Con2.State = ConnectionState.Closed Then Con2.Open()
End Sub
اجرای دستور اس کیو ال و برگشت دادن مقدار
Public Function Execute(ByVal sql As String) As DataTable
Try
Dim Tb As New DataTable
With Com
.CommandText = sql
.Connection = Con2
End With
At.SelectCommand = Com
At.Fill(Tb)
Return Tb
Catch ex As Exception
Return Nothing
End Try
End Function
این تابع برسی می کنید که بانک موزد نظر موجود می باشد یا خیر
Public Function ExistDatabase(ByVal Databasename As String) As Boolean
Try
Dim strSQL = "sp_helpDb " & Databasename
Dim tb1 As DataTable = Execute(strSQL)
If tb1.Rows.Count Then
Return True
Else
Return False
End If
Catch ex As Exception
If Err.Number Then
Return False
End If
End Try
End Function
تابع ایجاد دیتابیس
Private Function CreateDatabase(ByVal Path As String, ByVal name As String) As Boolean
Dim strSQL As String = Nothing
If Not 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)
End Try
End If
End Function
تابع ایجاد پشتیبان
Public Sub CreateBackup(ByVal Database As String, ByVal Path As String)
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)
End Try
End Sub
این کد را درForm_load قرار دهید
Connect()
CreateDatabase("c:\backup\", "data1")
این کد رو هم در رویداد کلیک Button قرار بدین
Dim SF As New SaveFileDialog
SF.ShowDialog()
If Len(SF.FileName) > 0 Then
CreateBackup("data1", SF.FileName)
End If
در ضمن دوستان ببخشید از اینکه من کدها رو یکم بهم ریخته نوشتم
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.