لقد قمت بعمل مشروع بالفيجوال بيسك على قاعدة البيانات sql server 2000 ولكني لا اعرف كيف اعمل backup و restore لقاعدة البيانات من الفيجوال بيسك ..
فهل من يعينني اعانه الله.. وله جزيل الشكر والتقدير
لقد قمت بعمل مشروع بالفيجوال بيسك على قاعدة البيانات sql server 2000 ولكني لا اعرف كيف اعمل backup و restore لقاعدة البيانات من الفيجوال بيسك ..
فهل من يعينني اعانه الله.. وله جزيل الشكر والتقدير
From Project->Reference ,add Microsoft SQLDMO Library
Backup
Private Sub Command1_Click() Dim SQLSvr As SQLDMO.SQLServer Dim Backup As SQLDMO.Backup Set SQLSvr = New SQLDMO.SQLServer Set Backup = New SQLDMO.Backup SQLSvr.Connect "myserver", "username", "password" Backup.Database = "mydatabase" Backup.Files = "c:mydatabase.bak" Backup.SQLBackup SQLSvr SQLSvr.DisConnect Set SQLSvr = Nothing Set Backup = Nothing End Sub
Restore:
Private Sub Command2_Click() Dim SQLSvr As SQLDMO.SQLServer Dim Restore As SQLDMO.Restore Set SQLSvr = New SQLDMO.SQLServer SQLSvr.Connect "myserver", "username", "password" Set Restore = New SQLDMO.Restore Restore.Database = "mydatabase" Restore.Files = "c:mydatabase.bak" Restore.SQLRestore SQLSvr SQLSvr.DisConnect Set SQLSvr = Nothing Set Restore = Nothing End Sub
Hope this helps
Madani
تم تعديل هذه المشاركة بواسطة طارق إبراهيم في 7 أكتوبر 2004 في 04:04
بارك الله فيك يامدني وكثر الله من امثالك ونفع بك مبرمجي المسلمين.. والشكر موصول للموقع ادامه الله علينا
لو سمحتم يا اخواني مكتبة SQLDMO ليست موجودة عندي فرجاء من كانت لديه ان يضعها على المنتدى ولكم جزيل الشكر
استخدمت الكود ولكن يقف البرنامج عند السطر
SQLSvr.Connect "myserver", "username", "password"
فما هي المشكلة ؟
هل لديك SQL Server instance اسمها myserver فيها مستخدم اسمه username وكلمة السر الخاصة به هي password ؟
غيرها لما هو مناسب عندك، وانظر
الاتصال بين برنامجي و sql server, ربط البرنامج بقاعدة البيانات لجملة الاتصال الصحيحة.
فكر بطريقة أخرى
يا اخواني ويامشرفين ويا محترفين ما هو الخطأ عندي لا استطيع عمل كونيكت في الكود السابق الخاص بعمل BACKUP و RESTORE ولا ادري ما السبب
اى كود بالتحديد و ما هى رسالة الخطا التى ظهرت
Technical Lead Developer
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
في كود backup يتوقف البرنامج عند السطر
SQLSvr.Connect "myserver", "username", "password"
وتظر رسالة ان السيرفر غير موجود أو تم رفض الصول مع اني عرفت myserver ، username ، password كمتغيرات ولكن لا فائدة فما الخطا يا اخواني
ولكن عفواً يا Walcam ما هي SQL Server instance الرجاء التوضيح
إستخدم هذا الكود في الإتصال مع السيرفر:
Dim SQLSvr As New SQLDMO.SQLServer SQLSvr .LoginSecure = True x.Connect "ServerName"
اقتباسHow to get experience without a job, and how to get a job without experience
الاخ حمزة شكراً على الرد ولكن الكود ما نفع لم يتصل بالسيرفر وتظهر رسالة الخطأ فما العمل
ما هى رسالة الخطأ التى ظهرت و هل حاولت عمل Debug لتعقب مصدر الخطأ
Technical Lead Developer
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
هذا الكود كما هو مكتوب عندي
Dim SQLSvr As New SQLDMO.SQLServer Dim UserName As String Dim Password As String Dim ServerName As String Dim DataBase As String On Error GoTo ErrorHandler UserName = "sa" Password = "123" Database = "mydb" ServerName = "Myserv" Set SQLSvr = New SQLDMO.SQLServer SQLSvr.LoginSecure = True SQLSvr.Connect "ServerName", "UserName", "Passward" Backup.Database = "MyDB" Backup.Files = "c:mydatabase.bak" Backup.SQLBackup SQLSvr SQLSvr.Disconnect Set SQLSvr = Nothing Set Backup = Nothing Exit Sub ErrorHandler: MsgBox Err.Description, , "Error "
ولكن بالتتبع للاخطاء Debug يتوقف عند هذا السطر ويظهر رسالة الخطأ كما في الصورة المرفقة
اقتباسولكن في Restore اشتغل معايه مره واحده وبعدها لم يشتغل ويتوقف البرنامج عند السطر التالي
هذه الرسالة تعني أن قاعدة البيانات قيد الاستعمال في مكان ما، وغالبا ما تكون مفتوحة عبر enterprise manager أو Query analyzer أو برنامج يستخدم قاعدة البيانات.
أغلق الenterprise manager و Query analyzer أو اختر قاعدة بيانات أخرى للتعامل معها عبرهما، وأغلق اتصال ما بين قاعدة البيانات والبرنامج الذي يستخدمها.
بالتوفيق بإذن الله.
فكر بطريقة أخرى
السلام عليكم
اخي الكريم Fmr4vb هل ممكن ان تدرج الكود بعد التعديل لكل من Backub and restore
-_-
إن لدي نفس المشكلة في النسخ و الاستعادة التي واجهت الأخ frm4vb فهل من الممكن من أحد الأخوة او ممن يعرف الحل المطلوب للمشكلة أن يساعدني على حلها
و لكم كل الشكر
يا جماعة الخير هو فى مشكلة وارجو ان تفهمونى:
مثلا نزلت البرنامج عند العميل وتم ادخال البيانات عليه ثم وبعد شهر مثلا قمت بعمل تحديث فى البرنامج وعلى قاعدة البيانات وذهبت عند العميل اخذت Backup من قاعدة البانات عنده ونزلت قاعدة البيانات الجديدة وفيها تعديلات جديدة
اضفة جدول مثلا او استعلام وهكذا واريد ان اضع البيانات الموجودة فى قاعدة البيانات القديمة عند العميل فى قاعدة البيانات الجديدة ولكن مايحدث غير ذلك وهو ان عند عمل Restore للبيانات لا اجد التحديثات الجديدة التى فعلتها فى قاعدة البيانات الجديدة ولكن الموجود قاعدة البيانات القديمة ارجو الاجابة بسرعة لاهمية الموضوع
وجزاكم الله خيرا
ياجماعه نريد كود نسخ والاستعاده
كود لعمل الـــــ Backup و Restore مجرب على SQL Server 2000/2005
Backup
Dim SQLSvr As SQLDMO.SQLServer
Dim Backup As SQLDMO.Backup
Set SQLSvr = New SQLDMO.SQLServer
Set Backup = New SQLDMO.Backup
SQLSvr.Connect "ServerName", "LoginName", "Password"
Backup.Database = "DatabaseName"
Backup.Files = "c:\DatabaseName.bak"
Backup.SQLBackup SQLSvr
SQLSvr.Disconnect
Set SQLSvr = Nothing
Set Backup = Nothing
Restore
Dim SQLSvr As SQLDMO.SQLServer
Dim Restore As SQLDMO.Restore
Set SQLSvr = New SQLDMO.SQLServer
Set Restore = New SQLDMO.Restore
SQLSvr.Connect "ServerName", "LoginName", "Password"
Restore.Action = SQLDMORestore_Database
Backup.Database = "DatabaseName"
Restore.ReplaceDatabase = True
Restore.Files = "c:\DatabaseName.bak"
Restore.FileNumber = 1
Restore.SQLRestore SQLSvr
SQLSvr.Disconnect
Set SQLSvr = Nothing
Set Restore = Nothing
كود لعمل الـــــ Backup و Restore مجرب على SQL Server 2000/2005
Backup
Dim SQLSvr As SQLDMO.SQLServer
Dim Backup As SQLDMO.Backup
Set SQLSvr = New SQLDMO.SQLServer
Set Backup = New SQLDMO.Backup
SQLSvr.Connect "ServerName", "LoginName", "Password"
Backup.Database = "DatabaseName"
Backup.Files = "c:\DatabaseName.bak"
Backup.SQLBackup SQLSvr
SQLSvr.Disconnect
Set SQLSvr = Nothing
Set Backup = Nothing
Restore
Dim SQLSvr As SQLDMO.SQLServer
Dim Restore As SQLDMO.Restore
Set SQLSvr = New SQLDMO.SQLServer
Set Restore = New SQLDMO.Restore
SQLSvr.Connect "ServerName", "LoginName", "Password"
Restore.Action = SQLDMORestore_Database
Backup.Database = "DatabaseName"
Restore.ReplaceDatabase = True
Restore.Files = "c:\DatabaseName.bak"
Restore.FileNumber = 1
Restore.SQLRestore SQLSvr
SQLSvr.Disconnect
Set SQLSvr = Nothing
Set Restore = Nothing