تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
قاعدة البيانات لا تعمل على الشبكة !!
#11
(21-10-16, 03:24 PM)myalsailamy كتب : هل راح تحط في نفس السيرفر الموقع و SQLSERVER .. يعني كلها بنفس الجهاز .. او الموقع بجهاز و قاعدة البيانات بجهاز اخر
بالنسبه للبورت غير ضروري لانه يتعرف بشكل تلقائي انها 1433 لذلك لا تهم الان .
الانتقريشن سكيور يعني لو كنت مسجل دخول ع الكمبيوتر و عندك يوزر على الويندوز .. و هذي لها علاقه عند تثبيت SQL SERVER  و نوع اليوزر الذي اضفته منها اليوزر sa

كلها على نفس الجهاز ((السيرفر))
انا حاليا قاعد اجرب الموضوع على جهازي الشخصي عن طريق IIS .. والموقع شغال بس الداتا بيز لا ..
انا مسوي يوزر في sql server .. وحسب كلامك integration Secyrity مفترض تكون true ..

(21-10-16, 11:57 PM)ابو ليلى كتب : لو وضعت نص الاتصال الخاص بك كان افضل (اقصد النص الذي ينجح به الاتصال من جهازك)
ثانيا اعتمد الطريقة التالية لنص الاتصال
PHP كود :
Data Source=Your ServerName;Initial Catalog=DataBaseName;User Id=User;Password=Pass 
اسم السيرفر احصل عليه من داخل السيرفر نفسه
بالنسبة لضبط اعدادت السيرفر 
تاكد ان السيرفر يسمح بالاتصال عن بعد (Allow Remote Connection)
تجدها في خصائص السيرفر التبويب Connection تاكد من وجود علامة صح عليها
و كذلك اجعل الولوج الافتراضي للسيرفر على (ٍSql Server And Authentication Mode) في التبويب Security
بعد ذلك اذهب الى الاسم الذي انشأته و تاكد من خصائصه عند التبويب Status و تاكد انه Enable 
اسم المستخدم كما قلت يجب ان يمتلك الصلاحية Public
و يجب ان يكون قادر على الولوج على السيرفر من نفس الجهاز الذي به السيرفر عبر بروتوكول TCP/IP 
بمعنى اخر يكون البروتوكول مفعل Enaple و رقم البورت 1433 الافتراضي (هذا في حال كان الجهاز يحتوي على سيرفر واحد فقط)
اما في حال احتواء الجهاز على اكثر من نسخة سيرفر فعليك معرفة رقم البورت لتستخدمه
الخطوات المتبقية على جهاز السيرفر هي تجهيزه ليستقبل اتصالات من اجهزة بعيدة عبر الجدار الناري
لذا يتوجب عليك فتح بورتات في الجدار الناري بنفس رقم البورت الخاص بالبروتوكول TCP/IP (الافتراضي 1433)
وكذلك لتضمن الامر اكثر افتح بورت من النوع (Udp) و امنحه الرقم (1434) و هذا البورت مرتبط بـ Sql Server Browser و هي احد خدمات Sql Server
لذا عند فتح هذا البورت يتوجب عليك تشغيل الخدمة Sql Server Browser من  Sql Server Configuration Manager
هذا الاخير عند تشغيله يجعل  السيرفر مرئي من جميع الاجهزة


الخطوة الثانية من الاجهزة الفرعية يجب ان تكون الاجهزة مرئية لبعضها على الشبكة (سلامة الشبكة)

في اي جهاز فرعي
عبر برنامج  Sql managemebt Studio قم بوضع اسم السيرفر و اختار بروتوكول TCP/IP و اكتب اسم المستخدم و كلمة المرور و جرب الاتصال
فاذا نجح الاتصال عندها يكون السيرفر جاهز للعمل مع هذا اليوزر 
فنفس البرنامج الذي يعمل على الجهاز الرئيسي يجب ان يعمل على الفرعي (بنفس نص الاتصال)
لان نص الاتصال يؤسس اتصال مع السيرفر (سواء كان السيرفر محلي او شبكة)
الفرق الوحيد هو قدرة الاجهزة الاخرى على التخاطب مع السيرفر بشكل سليم


Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Employees.mdf;;MultipleActiveResultSets=True;

هذا نص الإتصال عند وضع البرنامج على جهازي .. ويشتغل عادي ..  بس على السيرفر يشتغل البرنامج بدون داتا بيز ..
الخطوات اللي انت قلتها كلها مسويها .. بس برضه ما نجح .. خلينا نركز على نص الأتصال لأني اتوقع هو المشكلة ..
الرد }}}
تم الشكر بواسطة: ابو ليلى
#12
(23-10-16, 10:27 AM)starosta كتب :
(21-10-16, 03:24 PM)myalsailamy كتب : هل راح تحط في نفس السيرفر الموقع و SQLSERVER .. يعني كلها بنفس الجهاز .. او الموقع بجهاز و قاعدة البيانات بجهاز اخر
بالنسبه للبورت غير ضروري لانه يتعرف بشكل تلقائي انها 1433 لذلك لا تهم الان .
الانتقريشن سكيور يعني لو كنت مسجل دخول ع الكمبيوتر و عندك يوزر على الويندوز .. و هذي لها علاقه عند تثبيت SQL SERVER  و نوع اليوزر الذي اضفته منها اليوزر sa

كلها على نفس الجهاز ((السيرفر))
انا حاليا قاعد اجرب الموضوع على جهازي الشخصي عن طريق IIS .. والموقع شغال بس الداتا بيز لا ..
انا مسوي يوزر في sql server .. وحسب كلامك integration Secyrity مفترض تكون true ..

(21-10-16, 11:57 PM)ابو ليلى كتب : لو وضعت نص الاتصال الخاص بك كان افضل (اقصد النص الذي ينجح به الاتصال من جهازك)
ثانيا اعتمد الطريقة التالية لنص الاتصال
PHP كود :
Data Source=Your ServerName;Initial Catalog=DataBaseName;User Id=User;Password=Pass 
اسم السيرفر احصل عليه من داخل السيرفر نفسه
بالنسبة لضبط اعدادت السيرفر 
تاكد ان السيرفر يسمح بالاتصال عن بعد (Allow Remote Connection)
تجدها في خصائص السيرفر التبويب Connection تاكد من وجود علامة صح عليها
و كذلك اجعل الولوج الافتراضي للسيرفر على (ٍSql Server And Authentication Mode) في التبويب Security
بعد ذلك اذهب الى الاسم الذي انشأته و تاكد من خصائصه عند التبويب Status و تاكد انه Enable 
اسم المستخدم كما قلت يجب ان يمتلك الصلاحية Public
و يجب ان يكون قادر على الولوج على السيرفر من نفس الجهاز الذي به السيرفر عبر بروتوكول TCP/IP 
بمعنى اخر يكون البروتوكول مفعل Enaple و رقم البورت 1433 الافتراضي (هذا في حال كان الجهاز يحتوي على سيرفر واحد فقط)
اما في حال احتواء الجهاز على اكثر من نسخة سيرفر فعليك معرفة رقم البورت لتستخدمه
الخطوات المتبقية على جهاز السيرفر هي تجهيزه ليستقبل اتصالات من اجهزة بعيدة عبر الجدار الناري
لذا يتوجب عليك فتح بورتات في الجدار الناري بنفس رقم البورت الخاص بالبروتوكول TCP/IP (الافتراضي 1433)
وكذلك لتضمن الامر اكثر افتح بورت من النوع (Udp) و امنحه الرقم (1434) و هذا البورت مرتبط بـ Sql Server Browser و هي احد خدمات Sql Server
لذا عند فتح هذا البورت يتوجب عليك تشغيل الخدمة Sql Server Browser من  Sql Server Configuration Manager
هذا الاخير عند تشغيله يجعل  السيرفر مرئي من جميع الاجهزة


الخطوة الثانية من الاجهزة الفرعية يجب ان تكون الاجهزة مرئية لبعضها على الشبكة (سلامة الشبكة)

في اي جهاز فرعي
عبر برنامج  Sql managemebt Studio قم بوضع اسم السيرفر و اختار بروتوكول TCP/IP و اكتب اسم المستخدم و كلمة المرور و جرب الاتصال
فاذا نجح الاتصال عندها يكون السيرفر جاهز للعمل مع هذا اليوزر 
فنفس البرنامج الذي يعمل على الجهاز الرئيسي يجب ان يعمل على الفرعي (بنفس نص الاتصال)
لان نص الاتصال يؤسس اتصال مع السيرفر (سواء كان السيرفر محلي او شبكة)
الفرق الوحيد هو قدرة الاجهزة الاخرى على التخاطب مع السيرفر بشكل سليم


Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Employees.mdf;;MultipleActiveResultSets=True;

هذا نص الإتصال عند وضع البرنامج على جهازي .. ويشتغل عادي ..  بس على السيرفر يشتغل البرنامج بدون داتا بيز ..
الخطوات اللي انت قلتها كلها مسويها .. بس برضه ما نجح .. خلينا نركز على نص الأتصال لأني اتوقع هو المشكلة ..

اذا كنت تقصد ان الموقع يعمل بمجرد الضغط على F5 في بيئة الفيجوال وتظن ان الامر سيكون طبيعيا عند الاتصال من الاجهزة الاخرى فالامر ليس كذلك
كما قلت لك سابقا لابد من تفعيل IIS
وتأكد من عمل البرنامج والفيجوال مغلق تماما
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات
الرد }}}
تم الشكر بواسطة: ابو ليلى
#13
او ليس من المفروض ان تشير الى اسم السيرفر في نص الاتصال
PHP كود :
Data Source=(LocalDB)\MSSQLLocalDB 

PHP كود :
Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\mydb.mdf;Initial Catalog=mydb;Integrated Security=True;MultipleActiveResultSets=True

نسيت ان اشير الى ان الحجم الاعظمي لملف LocalDb هو 10 Gb
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة:
#14
(23-10-16, 08:18 PM)ابو ليلى كتب : او ليس من المفروض ان تشير الى اسم السيرفر في نص الاتصال
PHP كود :
Data Source=(LocalDB)\MSSQLLocalDB 

PHP كود :
Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\mydb.mdf;Initial Catalog=mydb;Integrated Security=True;MultipleActiveResultSets=True

نسيت ان اشير الى ان الحجم الاعظمي لملف LocalDb هو 10 Gb

شكرا على تعبك اخي الحبيب ..
انا قمت بتعديل دالة الإتصال فعلا .. وقمت بعمل إعدادات iiS  كما توصي .. وحاليا اقوم بتشغيل البرنامج من داخل iis Manager .. والبرنامج يشتغل فقط الداتا بيز ما تشتغل ..
ما هو الخطأ في هذه الدالة ..

Data Source=51.39.95.169,1433;Initial Catalog=|DataDirectory|\Employees.mdf;User Id=Awies;Password=aa1234"  

ما المقصود بإسم السيرفر ؟؟ .. هل هو الآيبي الخاص بالجهاز اللي عليه IIS أم السيرفر مثل SQLExpress و v11.0 علما باني استخدم الأخيرة وهي الخاصة بفيجوال ستديو 2012
الرد }}}
تم الشكر بواسطة:
#15
حسنا اخي الكريم بما ان الامور تختلط عليك و علي ايضأ بسبب قصر منا في فهم الية LocalDB 
دعني اقول لك ان مفهوم LocalDB محصور على نسخ Express , و الغاية منه هو توفير سيرفر مصغر لقواعد البيانات المحلية بدل ان نسخ SQLSERVER
و دعني اسميها خدمة من الخدمات (تسمية مجازية فقط) 
ولا داعي عندها لوجود لسيرفر على جهاز العميل فقط تحتاج الى تثبيت حزمة مثل (SQL Server 2014 LocalDB) طبعا كل اصدار له نسخته الخاصة و في حالتك انت لديك النسخة 11 و هي خاصة بالاصدار ( SQL Server 2014 و كذلك 2012) على ما اعتقد
و لكي تكون الامور اكثر يسرا للتعامل مع السيرفر المصغر اعطت الشركة له اسما و دائما ما تغير في تسميته فبعد ان كان يكتب V11.0 اصبح يكتب MSSQLLocalDB 
اما عملية توفير اتصال مع هذا السيرفر من الجهاز الرئيسي و الاجهزة المرتبطة فعملية شائكة تحتاج الى التركيز فقط و من ثم التجريب
لفهم الالية تابع هذه الروابط 
http://www.sqlcoffee.com/SQLServer2014_0010.htm


http://www.sqlcoffee.com/SQLServer2012_0004.htm

و اخيرا هذه الجزئية من المقال من الشركة الام
https://msdn.microsoft.com/en-us/library...x#Anchor_3
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] اريد كود يبحث في قاعدة بيانات من صفحة flawer69 0 1,822 19-03-23, 01:39 PM
آخر رد: flawer69
  [SQL] مشكلة في قاعدة البيانات gazy1984 5 2,773 14-11-21, 11:58 AM
آخر رد: ahmedabdelaliem
  مشكل في الترميز عندي قاعدة بيانات اكسيس مستخدمه في سرفر محلي ahmedhhh2 0 1,745 11-12-19, 01:32 AM
آخر رد: ahmedhhh2
  احتاج كود ايجاد اكبر قيمة من قاعدة البيانات للعمود id hglogtd 5 4,497 09-10-18, 06:24 PM
آخر رد: hglogtd

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم