الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكله عند نقل قاعده البيانات

مغلق
بدأه رفيق الامل في 2 أغسطس 2006 · 8 رد · 656 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله وبركاته

انا عملت برنامج بالسي شارب وقاعده بيانات اس كيو ال

وطبعا قاعده البيانات عملتها بواسطه برنامج الدوت نت مش بالاس كيو ال سيرفر

والمشكله عندما انقل قاعده البيانات الى جهاز اخر ماتتعرف للسيرفر وماتفتح

وحدثت المشكله مره اخرى عندما حذفت الدوت نت من جهازي وحملته مره اخرى مارضت تفتح

ايش السبب وشكرا لكم

C# حبيبتي

#2

المشكلة هي عدم تعديل الـ Connection Strings ليستطيع البرنامج الاتصال بقاعدة البيانات على الجهاز الذي قمت بنقل قاعدة البيانات عليه، فعندما قام الـ DataAdapter بإنشاء الـ Connection Strings أثناء كتابة البرنامج قام بإنشائها حسب الجهاز الذي تم استخدامه لكتابة هذا البرنامج...

لكي يتم تجاوز هذه المشكلة يجب أولاً ان تلغي الـ Connection Strings الذي قام الـ Adapter بإنشائها، لكي تفعل ذلك:

اختر أيقونة الـ Connection من خلال الـ Designer بالضعط على الزر الأيمن من الماوس ثم اختر Properties اتظهر لك شاشة الـ Properties ثم قم بمسح ما يوجد في خاصية ConnectionString ، الآن أصبح التطبيق لا يستطيع الاتصال بقاعدة البيانات..

بعد ذلك قم بكتابة Property صغيرة تقوم بإستدعاء الـ ConnectionStrings الجديدة عن طريق ملف الـ App.config (الذي يمكنك إضافته للمشروع).

و هذا الملف هو ملف XML عادي تستطيع فتحه عن طريق الـ Notepad لتقوم بتحديد اسم الـ Server الجديد الذي تم وضع قاعدة البيانات فيه بدلاً من عناء تغيير الـ Connection Strings عن طريق الكود مما يعني اضعة الكثير من الوقت في عملية الـ Rebuild للمشروع...

لكيفية استخدام الـ App.config في الاتصال بقاعدة البيانات، فإبحث بإستخدام نفس الكلمة في الـ MSDN... و الله الموفق..

رأس الحكمة الإيمان بالله

#3

اخي محمد شكرا لك

ولكن غيرت الكونكشن ولم يتعرف عليها

وايضا عندما اذهب الى سيرفر كونشكن واتصل مع السريفر يتصل معه ولكن لاتظهر قاعده البيانات المنسوخه من الجهاز الاخر

C# حبيبتي

#4

و كيف قمت بنقل قاعدة البيانات الى السيرفر الجديد؟؟؟ هل إكتفيت بنسخ نسخة منها فقط؟؟ .... يجب أن تقوم بعملية الـ Attach Database فرضاً انك تستخدم SQL Server

رأس الحكمة الإيمان بالله

#5

الظاهر أنه لم يعمل Attach لقاعدة البيانات وهذا سبب عدم تعرف SQL Server عليها ، أرسل لنا رسالة الخطأ التي تظهر لك حتى نعرف مشكلتك بالضبط

يا أيها الناس قولو لا إله إلا الله تفلحوا وتملكوا بها العرب وتذل لكم العجم وإذا آمنتم كنتم ملوكا في الجنة

#6

صح عليكم ماعملت اتتاش

لانه مش عارف كيف اعمل

اكيد انتو عارفين

ياريت تقولو لي كيف

وشكرا

C# حبيبتي

#7

إذا كنت تستخدم النسخة الكاملة من ال SQL Server فيمكنك من ال Enterprise Manager من عمل attach

Microsoft SQL Server >> Right click on Database >> All atsks >> Attach database

أو يمكنك عمل ذلك من الكود :

sqlConnection1.Open();
			try
			{				
				string FirstPath = "//Path of first file of database here";
				string SecondPath = "//Path of second file of database here";

				string Command = " EXEC sp_attach_db @dbname = N'DatabaseName',"+ 
					"@filename1 = N'"+FirstPath+"',"+
					"@filename2 = N'"+SecondPath+"' ";

				SqlDataAdapter da_attach=new SqlDataAdapter(Command,sqlConnection1);
				DataSet ds_attach=new DataSet();
				da_attach.Fill(ds_attach);

			}
			catch
			{

			}
			sqlConnection1.Close();

لاحظ أن ال connection يكون بال Master database

Enjoy

#8

شكرا اخ CER

ولكن انا استخدم MSDE

هل اعمل نفس الشي

C# حبيبتي

#9

اخي الكريم

ال MSDE هو ال SQL Server بس من غير واجهات المطورين

يعني مفيش فرق

Have fun ;) ;)

هذا الموضوع مغلق.

مواضيع مشابهة