(12-03-18, 04:20 PM)عبد العزيز البسكري كتب : بسم الله الرّحمن الرّحيم
" إنّ البقر تشابه علينا و إنّا إن شاء الله لمهتدون "
صدق الله العظيم
هذه البقرات أخي " إدريس " .. عفوًا .. هذه الإتّصالات .. سبّبت لي صداعًا منقطع النظير
ههههههههههههههههههههههههههههههههههههههه
أضحك الله سنك أخي
عبد العزيز البسكري
أخي عبدالعزيز , حبيب قلبي
نص الإتصال الي ذكرتة , يحتوي على خاصية أو خيار ( خاص بإرفاق قاعدة البيانات على الـ SQL SERVER )
هذا الخيار هو (
AttachDbFilename ) لذلك وجب عليك كتابة مسار ملف القاعدة حتى يتعرف الـ SQL SERVER على مكان قاعدة البيانات
كل قواعد البيانات الموجودة في الـ SQL SERVER هي عبارة عن ملفات
DatabaseFileName.mdf
DatabaseFileName_log.ldf
DatabaseFileName.mdf
mdf. هو الملف الذي يعبر عن قاعدة البيانات الحالية
DatabaseFileName_log.ldf
هو ملف يعبر عن جميع التغيرات التي حدثت لملف قاعدة البيانات , بعبارة أخرى , سجل هيستوري , بعبارة أخرى , هو جميع الأحداث محمولة بالقيم التي تم معالجتها على طول تاريخ قاعدة البيانات,
ويستخدم فقط في حالة إذا حدث أي عطب أو خطاء جسيم في ملف القاعدة الأصلي , ومنه يمكنك الرجوع عبر الزمن إلى أي تاريخ تريد أن ترجع بالزمن إلى الوراء , بعبارة أخرى كل حركة أو أمر أو إجراء يتم على البيانات في القاعدة يتم تسجيلة في هذا الملف, مع ملاحظة حجمة الكبير , فرق شاسع في الحجم بين الملفين , خصوصاً بعد مرور القليل من الزمن, وهذا يدل على إحتوائة على بيانات أكبر من الملف الأصلي.
بالشكل المعتاد عندما تقوم بإنشاء قاعدة بيانات من خلال ( sql server management studio ) , الـ SQL SERVER يقوم بإنشاء ملفات هذة القاعدة بشكل إفتراضي في المسار الخاص بملفات قواعد البيانات , مثل :
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA
بعد خلق الملفات يقوم هو بشكل تلقائي بعمل
AttachDbFilename , لذلك تظهر القاعدة ظمن البرنامج ( sql server management studio )
لذلك أنت لا ترى هذة الملفات , وكل ما تقوم به هو كتابة اسم القاعدة في نص الإتصال , ولكن في الأصل الملفات معروفة لدى الـ SQL SERVER
ولكن ماذا عن ملف قاعدة بيانات أصلاً غير موجود في الـ SQL SERVER
عندها أنت تحتاج إلى عمل
Attach
وكلمة
Attach تعني تظمين هذا الملف مع قواعد البيانات المعروفة لدي الـ SQL SERVER
وعمل
Attach يحتاج إلى تحديد مسار ملف القاعدة .
لو كان الملف ( DatabaseFileName.mdf ) على سطح المكتب , وقمت بعمل
Attach لهذا الملف وهو على سطح المكتب , الـ SQL SERVER سيبحث دائما عن هذا الملف من على سطح المكتب , ويعني أنه يجب أن يكون دائماً على سطح المكتب.
كما لو كان في مجلد الـ Debug نفس الكلام .
بعد أن يتم عمل
Attach لأي قاعدة بيانات , فقط تحتاج إلى عمل نص إتصال يحتوي على اسم القاعدة , وليس المسار الخاص بملف القاعدة لأن الـ SQL SERVER أصبح يعلم من عملية الـ
Attach مسار ملف القاعدة.
ولو قمت بحذف قاعدة البيانات من خلال ( sql server management studio ) هذا يعني أنه مهما اتصلت بالـ SQL SERVER والسؤال عن هذة القاعدة , لن يجدها ولن يتعرف على القاعدة التي كتب إسمها في نص الإتصال , لأنه لا يعرف أين مسار الملف , بسبب أنك قمت بحذف الملف.
الخلاص : مكان ملف قاعدة البيانات أنت من يحدد أي يكون بشكل دائم بعمل
Attach لهذا الملف ( ولا يتم حذف الملف لأنه أصبح مرتبط بالـ SQL SERVER ) .
الشرح يطول جداً في نصوص الإتصال وخصائصها , ولكن أتمنى إني وصلت معلومة .
(12-03-18, 08:29 PM)عبد العزيز البسكري كتب : السّلام عليكم و رحمة الله و بركاته
ألف شكر أخي الكريم على التّجاوب الطيّب .. عسى الله أن يجعل كل حرف ممّا كتبته بمليون حسنة و أكثر إن شاء الله
لو تكرّمت .. تساؤل أخير بهذا الموضوع ..
لو تركت قاعدة البيانات مثلما تشير إليه الصورة أعلاه .. و أردت نقل المشروع على جهاز آخر
هل يستلزم تسطيب ال SQL SERVER على الجهاز الآخر ؟؟
أم بهذه الحالة أعمل قاعدة البيانات كملف بال Debug و الإتّصال يكون بالكود الأخير من سيادتك
تحياتي واحتراماتي
ملف
mdf
يعني وجوب وجود SQL SERVER
ويعني أنه يجب عليك تثبيت قاعدة البيانات في الـ SQL SERVER في الجهاز الآخر
بعدها قم بالإتصال بشكل عادي
البرامج التي تستخدم قواعد بيانات SQL SERVER
يجب على صاحب المشروع أو المسؤول القيام بهذة الأمر , لمرة واحدة فقط وهو عند أول تشغيل للبرنامج , سواء كان الجهاز على شبكة داخلية , إذن يتم تثبيت القاعدة من قبل المسؤول عن الشبكة الداخلية , وإذا كانت على جهاز واحد أنت أو صاحب الجهاز يقوم بتثبيت القاعدة.