سلام دوستان من ميخوام توي پروژم امكان پشتيبان گيري بزارم اگه كسي نمونه برنامه اي داره برام بزاره ممنون مي شم
ظما جستجو كردم چيزي كه بدردم بخوره پيدا نكردم
سلام دوستان من ميخوام توي پروژم امكان پشتيبان گيري بزارم اگه كسي نمونه برنامه اي داره برام بزاره ممنون مي شم
ظما جستجو كردم چيزي كه بدردم بخوره پيدا نكردم
یه dll برات نوشتم که با smo کار میکنه یه نمونه ام گذاشتم که راحت با یه دو سه خط تایپ راحت بکاپ میگیری
ممنون دوست من ولي اي فقط نونه برنامه است
توي اين فايل زيپ Dll نداره حتي برنامه خودت هم ايراد مي گيره
Dim saadi As New Saadi__Smo_Dll.Saadi_Smo
آخرین ویرایش به وسیله majid_vb_2008 : جمعه 20 شهریور 1388 در 21:19 عصر
آقا/خانوم saadi2 دوستمون درست می گن برنامه تون مشکل داره و نمی تونه فایل Dll رو پیدا کنه.
لطفا دوباره بررسی کنید و برای دانلود فایل رو ضمینه کنید.![]()
معذرت میخوام اینم dll تو debug کپیش کنید
دوست من نتوانستم از كد استفاده كنم
اگه مشيه يكم توضيح بده
من هم نتونستم ازش استفاده کنم...حالا اون رو بی خیال
دوست عزیز به جای این که یک dll بدی و صورت مسئله رو پاک کنی بهتر نیست نحوه بک آپ گیری رو یاد بدی تا همه استفاده کنیم؟
بفرمایید
لطف کنید کانکشن استرینگ sql server را برای اون دوست عزیز قرار بدید
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common
PublicClass FrmBackUp
PublicConst conString AsString = "Server=.\sqlexpress;" & _
"Integrated Security=SSPI;" & _
"uid=sa;pwd=;database=master"
PublicSub BackupDatabase(ByVal ConnectionStr, ByVal DevicePath, ByVal FileName, ByVal Database)
Using Con AsNew SqlConnection(ConnectionStr)
If Con.State = ConnectionState.Closed Then Con.Open()
Dim Srvcon AsNew ServerConnection(Con)
Dim Srv AsNew Server(Srvcon)
Dim bdi AsNew BackupDeviceItem(FileName, DeviceType.File)
Dim Backup AsNew Backup
Try
With Backup
.Devices.Add(bdi)
.Action = BackupActionType.Database
.BackupSetDescription = "Backup DataBase"
.BackupSetName = "DB"
.Database = Database
.LogTruncation = BackupTruncateLogType.Truncate
.SqlBackup(Srv)
EndWith
MsgBox("ok")
Catch ex As Exception
MsgBox(ex.Message)
EndTry
EndUsing
EndSub
PublicSub RestoreDataBase(ByVal ConnectionStr, ByVal FileName, ByVal Database)
Using Con AsNew SqlConnection(ConnectionStr)
If Con.State = ConnectionState.Closed Then Con.Open()
Dim Srvcon AsNew ServerConnection(Con)
Dim Srv AsNew Server(Srvcon)
Dim deviceItem = New BackupDeviceItem(FileName, DeviceType.File)
Dim Restore AsNew Restore
With Restore
.Devices.Add(deviceItem)
.Action = RestoreActionType.Database
.Database = Database
.SqlRestore(Srv)
EndWith
EndUsing
EndSub
ProtectedConst conString AsString = _
"Server=localhost;" & _
"Integrated Security=SSPI;" & _
"DataBase=master"
دوستان برنامه رو من تو sql express تست کردم مشکلی نداشت
هر سوالی داشتید همینجا مطرح کنید.
درضمن همونطور که میدونید باید ریفرنس هایی رو به برنامتون اضافه کنید
Microsoft.SqlServer.Smo
Microsoft.SqlServer.ConnectionInfo
دوست من
من با خود VS فايل بانك اطلاعاتي رو مي سازم و يك دونه فايل با فرمت MDF ذخيره مي شه از اونا چجور بكاپ بگيرم
تو قسمت مربوط به دیتاست بانک اطلاعاتیت میتونی connection string رو ببینی .
ببین از express استفاده میکنه یا سرور .
بانک اطلاعاتیت کنار برنامته یا نه؟
بانك اطلاعاتي كنار برنامه است
لطفا راهنمايي كنيد
با سلام
دوست عزیزی که می خواد از بانک Access بکاپ بگیره بهترین روش اینه که با کپی پست ساده این کار رو بکنه !
یا علی
بفرمایید دوست عزیز برای بکاپ گرفتن از دیتابیس هایی که هنگام اجرای برنامه attach میشوند من از این روش که در برنامه ی زیر گزاشتم استفاده میکنم . فقط کافیه در خط اول
PublicConst Data AsString = "Teachers"
نام دیتابیس خود را به جای "Teachers"
وارد کنید.
میبخشید که یکم دیر شد تا جواب بدم.
دوست من ميشه بيشتر توضيح بدي
ظما كد براي ري استور كردن نگذاشتي
دوست عزیز در مورد Backup و Restore بانکهای SDF هم بی زحمت یه مثال بزن
من خودم همیشه از کپی ساده استفاده میکنم ولی خوب زیاد جالب نیست
دوستان به نظر شما ميشه با كپي كردن از فايل Mdf پشتيبان بگيريم
من هنوز منتظرم
دوستان خبري نشد من منتظرم .................................................. .............
لطفا راهنمايي كنيد
آخرین ویرایش به وسیله majid_vb_2008 : چهارشنبه 25 شهریور 1388 در 11:47 صبح
دوستان به نظر شما ميشه با كپي كردن از فايل Mdf پشتيبان بگيريم
دوستان من هنوز منتظرم لطفا كمك كنيد
كارم خيلي گيره
ممنون مي شم ازتون
تا چند ساعت دیگه یه نمونه برای اینکه بتونی فایلتو rar بکنی در کنار برنامه برات قرار میدم
خيلي ممنون من منتظرم
با جستجو توي سايت يك كد پيدا كردم كه تونستم باهاش پشتيبان بگيرم حالا مي زارم اينجا شايد بدرد بقيه هم بخوره
اين براي پشتيبان گيري:
Dim Path As String = Application.StartupPath.ToString
con.Open()
strsql = "BACKUP DATABASE [" & Path & "\Data.mdf] TO DISK ='" & "C:\ddd.bak" & "' with format"
com = New SqlCommand(strsql, con)
com.ExecuteNonQuery()
con.Close()
اينم براي بازگرداني اطلاعات:
Dim Path As String = Application.StartupPath.ToString
con.Open()
strsql = "USE master; RESTORE DATABASE [" & Path & "\Data.mdf]" & " FROM DISK ='C:\ddd.bak'"
com = New SqlCommand(strsql, con)
com.ExecuteNonQuery()
con.Close()
با سلام دوست عزیز
امیدوارم مشکلت حل شده باشه ولی dll که من میزارم بانک اطلاعاتیتونو که تو پوشه دیباگه آرشیو میکنه وبا دکمه دوم میتونی extract ش کنی الان سریع نوشتم ناقصه ولی ببین اگه به کارت میاد کاملترش کنم
در ضمن connection string خودت که باهاش از کدهای بکاپی که گذاشتی استفاده کردی و قرار بده.
عزيزم ممنون مي شم كاملش كني
اينم connection string كه من باهاش به بانك اطلاعاتي وصل مي شم
"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Data.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
مطمئنی با این کانکشن استرینگ میتونی بکاپ بگیری؟
میشه به پایگاه داده وصل شد و اطلاعات رو مشاهده و حذف و اضافه کرد ولی فقط در صورتی میشه بکاپ گرفت که گزینه ی
"initial catalog=data"
را به اون اضافه کنیم. برای من که اینجوریه
اگه این گزینه ام که اضافه کنیم با جابجایی مکان برنامه در هارد دیسک باز مشکل به وجود میاد
شما مشکلی ندارید؟
درسته بالاخره اشکال کارم و فهمیدم ممنون
ممنون از کدهاتون ، خیلی کمکم کرد .
البته من اینطوری نوشتم .
Dim sql As String = "BACKUP DATABASE [" & My.Application.Info.DirectoryPath & "\Data\Nezam_DB.mdf" & "] TO DISK='" + txt_path.Text + "\FILE.bak' WITH FORMAT"
Using dbcon = New System.Data.SqlClient.SqlConnection(c.strcon)
Using dbcom = New System.Data.SqlClient.SqlCommand(sql, dbcon)
dbcon.Open()
dbcom.ExecuteNonQuery()
End Using
End Using
----------------------------------------------------------------
Dim sql As String = "USE master; RESTORE DATABASE [" & My.Application.Info.DirectoryPath & "\Data\Nezam_DB.mdf" & "]" & " FROM DISK ='" & txt_path.Text & "'"
Using dbcon = New System.Data.SqlClient.SqlConnection(c.strcon)
Using dbcom = New System.Data.SqlClient.SqlCommand(sql, dbcon)
dbcon.Open()
dbcom.ExecuteNonQuery()
End Using
End Using
از دوستان عزیز مخصوصا saadi2 , خواهش می کنم جهت restore کردن بانک هم راهنمایی کنند .
سلام
من قبلا از کدی مشابه همین در بکاپ گیری استفاده می کردم و مشکلی هم نداشتم و حتی الان هم همون برنامه ها به خوبی کار می کنن و در گرفتن بکاپ مشکلی ندارند.
نمی دونم چرا الان نمی تونم. شاید نکاتی رو فراموش کردم. من smo رو به رفرنس اضافه می کنم آیا باید چیز دیگری رو هم اضافه کرد؟
کد من هم به این شکل هست.
در ضمن به نظرم برای بکاپ گیری نباید مسیر فایل دیتابیس مشخص کرد حتی اگه مسیر exe برنامه باشه هر چند راحتر به نظر می رسه.
Dim DevicePath As String
With SaveFileDialog1
.FileName = str_name_backup
.DefaultExt = "bak"
.Filter = "DateBase Backup File(*.bak)|*.bak"
.OverwritePrompt = True
End With
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
DevicePath = SaveFileDialog1.FileName
If My.Computer.FileSystem.FileExists(DevicePath) Then
Kill(DevicePath)
End If
If con.State = ConnectionState.Closed Then con.Open()
Dim Srvcon As New ServerConnection(con)
Dim Srv As New Server(Srvcon)
' Create backup device item for the backup
Dim bdi As New BackupDeviceItem(DevicePath, DeviceType.File)
' Create the backup informaton
Dim Backup As New Backup
Backup.Devices.Add(bdi)
With Backup
'Type Of Backup
.Action = BackupActionType.Database
.BackupSetDescription = "Backup DataBase"
.BackupSetName = "DB"
.Database = con.Database.ToString()
.LogTruncation = BackupTruncateLogType.Truncate
'Backup.ExpirationDate = New DateTime(2007, 5, 1)
' Run the backup
.SqlBackup(Srv)
End With
دوستان يك مشكل جديد
براي پشتيبان گيري مشكلي نيست
ولي درزمان بازگرداني اگر بعد از باز كردن برنامه يك ركود جديد به بانك اضافه بشه در زمان باز گرداني سيستم پيغام مي ده كه بانك در حال استفاده است و نمي تواند بازگرداني كند
كمك كنيد..