PDA

View Full Version : سوال: درخواست راهنمایی در پشتیبان گیری با اسکیول از طریق کد نویسی



safari_m4
جمعه 23 شهریور 1397, 17:02 عصر
سلام خدمت دوستان
بنده در پشتیبان گیری از طریق BackgroundWorker و کد نویسی با اسکیول با خطای بانک اطلاعاتی مشخص نیست مواجه می شود البته وقتی از دستور بانک اطلاعاتی خود سرور استفاده می کنم مشکلی نیست مانند دستور ذیل:

Public StrCON As String = "Data Source=AA_M1;Initial Catalog=HesabdariData;Integrated Security=True"
ولی وقتی از بانک اطلاعاتی که داخل پوشه ای که در داخل خود برنامه داخل پوشه Debug می باشد خطا می دهد مانند ذیل :
Public StrCON As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=" & My.Application.Info.DirectoryPath & "\DataBase\HesabdariData.mdf;Integrated Security=True;Connect Timeout=30"
یا
Public StrCON As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|Da taDirectory|\DataBase\HesabdariData.mdf;Integrated Security=True"


یا
Public StrCON As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|Da taDirectory|\DataBase\HesabdariData.mdf;Integrated Security=True;Connect Timeout=30;Asynchronous Processing=true"
البته بجای این دستور : My.Application.Info.DirectoryPathیا دستور DataDirectory
از مسیر اصلی خود برنامه که داخل کانشکن استرینک ذخیره شد هم استفاده کردم باز هم خطا می دهد که خطا در قسمت این کدی است Cmd.EndExecuteNonQuery(result)
نمونه کد نویسی :
Private Sub BtnBackup_Click(sender As Object, e As EventArgs) Handles BtnBackup.Click
If RdbBackup.Checked = True Then


If String.IsNullOrWhiteSpace(TxtSelectpath.Text) Then


ErrorProvider1.SetError(TxtSelectpath, "مسیر پشتیبان را مشخص کنید")


ElseIf String.IsNullOrWhiteSpace(TxtBackupName.Text) Then


ErrorProvider1.SetError(TxtBackupName, "نام فایل پشتیبان را وارد کنید")


ElseIf File.Exists(TxtSelectpath.Text + "" + TxtBackupName.Text.Trim() + ".bak") Then


MessageBox.Show("در مسیر انتخاب شده قبلا یک فایل با همین نام ذخیره شده است")
Else
flag = True
BtnBackup.Enabled = False
Grp1.Enabled = False
BtnCancel.Visible = True
'Dim cmd As New SqlCommand("My_Backup", con)
Dim cmd As New SqlCommand("Mybackup", con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@path", TxtSelectpath.Text & "" & TxtBackupName.Text.Trim() & ".bak")
ProgressBar1.Visible = True
ProgressBar1.PerformStep()
con.Open()


Dim callbackdelegate As AsyncCallback = AddressOf Handlecallback
cmd.BeginExecuteNonQuery(callbackdelegate, cmd)
End If
Else
MessageBox.Show("نوع عملیات پشتیبان را فعال کنید")
End If


Call TxtBackupName_Load()
End Sub
Private Sub Handlecallback(ByVal result As IAsyncResult)
Try
Cmd = CType(result.AsyncState, SqlCommand)
Cmd.EndExecuteNonQuery(result)


MessageBox.Show("عملیات پشتیبان گیری با موفقیت انجام شد")
Catch
MessageBox.Show("عملیات پشتیبان گیری توسط کاربر متوقف شد")
End Try
Me.BeginInvoke(CType(Sub()
Me.Close()
End Sub, MethodInvoker))
con.Close()
flag = False
End Sub



این هم کد خطا :


An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code

Additional information: Database 'HesabdariData' does not exist. Make sure that the name is entered correctly.

BACKUP DATABASE is terminating abnormally.

safari_m4
جمعه 30 شهریور 1397, 17:03 عصر
سلام خدمت دوستان عزیز
کسی نیست در این مورد راهنمایی کند با تشکر

hamidrezax1
سه شنبه 10 مهر 1397, 20:31 عصر
سلام دوست عزیز ببینید که بانک اطلاعاتی اول داخل پوشه دباگتون قرار داره؟

safari_m4
یک شنبه 15 مهر 1397, 18:22 عصر
سلام دوست عزیز ببینید که بانک اطلاعاتی اول داخل پوشه دباگتون قرار داره؟
سلام تشکر از شما دوست عزیز بلاخره با تلاش زیاد مشکلم را حل کردم

behrooz69
یک شنبه 20 آبان 1397, 14:37 عصر
سلام تشکر از شما دوست عزیز بلاخره با تلاش زیاد مشکلم را حل کردم

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

و زحمت بکشید نمونه کد رو صحیح با یه نمونه بذارید دوستان استفاده کنند

safari_m4
یک شنبه 20 آبان 1397, 15:43 عصر
بهتره بعد از حل مشکل ، بگید که چیکار کردین که دوستان هم استفاده کنند ،

و زحمت بکشید نمونه کد رو صحیح با یه نمونه بذارید دوستان استفاده کنند

با سلام ببحشید در دسترس نبودم کدهای صحیح دقیقا کدهای بلاست با این تفاوت که مسیر و آدرس را اشتباهی داده بودم با تشکر