التقييم : 3 نقاط : 360882 تاريخ التسجيل : 01/01/1970
| موضوع: إنشاء واستعادة نسخة احتياطية من قاعدة بيانات sql ب vb.netالسلام عليكم ورحمة الله وبر الخميس ديسمبر 06, 2012 10:00 am | |
| السلام عليكم ورحمة الله وبركاته
في هذا الموضوع نتعرف إن شاء الله على كيفية عمل نسخة احتياطية BackUp واستعادتها من قاعدة بينات Sql بواسطة برنامج Visual Basic.net
اولا تصميم النموذج
نقوم بإنشاء مشروع windows جديد ونضع فيه TextBox ونعطيها الاسم txtDbName وسيتم إعطاؤه اسم قاعدة البيانات التي نريد حفظها أو استعدتها
وكذلك List Box ونسميها LbDataBases وسنستخدمه لعرض جميع قواعد البيانات الموجود على السيرفر المحلي
ثم ضع زرين الأول لحفظ النسخة والآخر لاستعادة نسخة موجودة
قم بإضافة OpenFileDialoge وأعطه الاسم OFD
في البداية يجب إضافة مرجعين للمشروع
اختر قائمة Project ومنها Add Reference
واختر المرجعينMicrosoft.SqlServer.ConnectionInfo الثاني Microsoft.SqlServer.Smoثم قم باستيراد المكتبتين في النموذج بكتابة الكود التالي في أعلى صفحة الكود كود PHP: Imports Microsoft.SqlServer.Management.Common Imports Microsoft.SqlServer.Management.Smo Imports System.Data.SqlClient
في جزء التصريحات العامة للنموذج قم بتعريف المتغيرات التالية
كود PHP: Dim sql As String Dim cs As New SqlConnection
في حدث تحميل النموذج نقوم بعمل الكود الذي يحضر لنا جميع قواعد البيانات على السيرفر ويضعها في القائمة
كود PHP: sql = "Data Source=(Local); DataBase=; Integrated Security=SSPI" cs = New SqlConnection(sql) Dim Myserver As ServerConnection = New ServerConnection(cs) Dim NewMyServer As Server = New Server(Myserver) For Each database As Database In NewMyServer.Databases LbDataBases.Items.Add(database.Name) Next
اضغط دبل كلك على ListBox واكتب الكود التالي ووظيفته عند اختيار أي قاعدة بيانات يتم وضع اسمها في TextBox
كود PHP: txtDbName.Text = LbDataBases.Text
في حدث الضغط على زر حفظ نسخة نكتب الكود التالي كود PHP: cs = New SqlConnection(sql) Dim conn As New ServerConnection(cs) Dim bcp As New Backup Dim srv As New Server(conn) bcp.Database = txtDbName.Text Dim dbi As New BackupDeviceItem(Application.StartupPath & "\MyBackUp.bak", DeviceType.File) bcp.Devices.Add(dbi) bcp.SqlBackup(srv)
في حدث الضغط على زر استعادة نسخة نكتب الكود التالي كود PHP: If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then Dim cs As New SqlConnection(sql) Dim conn As New ServerConnection(cs) Dim res As New Restore Dim srv As New Server(conn) res.Database = txtDbName.Text res.Devices.Add(New BackupDeviceItem(OFD.FileName, DeviceType.File)) res.ReplaceDatabase = True res.Partial = False If res.SqlVerify(srv) Then srv.KillAllProcesses(txtDbName.Text) srv.DetachDatabase(txtDbName.Text, True) res.SqlRestore(srv) End If End If
ملاحظة
شرح الأكواد في الملف المرفق المثال
أرجو أن يكون الموضوع مفيد لكم
وشكرا على المتابعة | |
|