تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
قاعدة البيانات لا تعمل على الشبكة !!
#1
قمت بتصميم برنامج ويب ابليكيشن عن طريقة asp.net وقاعدة بيانات sql server   ..
البرنامج يشتغل بشكل طبيعي وجيد .. قمت بوضعه على سيرفر محلي وأشتغل .. لكن المشكلة أن أي عملية تحتاج لإتصال بقاعدة البيانات يظهر لي الخطأ في الصورة أدناه ..
بحثت في كل المواقع الأجنبية وسويت كل المقترحات الموجودة بس بدون فايدة ..
بإختصار كيف تكتب جملة connection String في حالة أن يكون البرنامج على شبكة ؟؟ .. هل هي نفسها ام تعدل ؟؟
هل يستطيع أحد أن يعدل لي في البرنامج لأن وقت التسليم جاء وانا ماني لاقي حل بصراحة ..


الملفات المرفقة صورة/صور
   
الرد }}}}
تم الشكر بواسطة:
#2
طيب عشان اسهل الموضوع ..
هذا الكونكشن سترينج خطأ ؟؟

Server=ADFI-ELR-030,1433;Database=|DataDirectory|\\Employees.mdf;Integrated Security=false;User 
Id=awies;Password=aa12345678;MultipleActiveResultSets=True

لما اكتبه كده صار يعطيني ..
 Login failed for user 'awies'.
الرد }}}}
تم الشكر بواسطة:
#3
sql server الذي تعمل عليه ADFI-ELR-030 لا يسمح للمستخدم awies اما ان كلمة المرور غير صحيحه او انه لا يوجد اسم مستخدم بالاساس يسمح لك بالدخول ، او ليس لك صلاحيه بالوصول الى قاعدة البيانات هذه (لكنك استخدمت Attach dataBase ) فما اعرف وضعها بالصلاحيات صراحه ، نقطه اخرى لما تتعامل مع ملف قاعدة البيانات لماذا لا تقوم بعمل Backup من جهازك و تدخل على ادراة قواعد البيانات sql server الجديد و تنشأ قاعدة بيانات بنفس الاسم و تعطي صلاحيه للمستخدم الذي سيتعامل مع قاعدة البيانات Owner و تقوم بعمل restore وهكذا نقلت قاعدة البيانات بسهوله .
اسم معرفي : محمد يحيى
الرد }}}}
تم الشكر بواسطة: starosta , starosta , ممدوح
#4
والله يا حبيب توني قلت للمدير في شخص دايما يحل مشاكلنا وانا منتظره Smile
ADFI-ELR-030 هذا اسم الجهاز حقي .. هل هذا صحيح ؟؟
انا حاليا حولت جهازي إلى سيرفر وابقى اشغل الموقع على IIS وهو يشتغل عادي بس قاعدة البيانات ما تشتغل ..
قاعدة البيانات انشأتها داخل visual studio لذلك على على سيرفر v11.0 هل توجد مشكلة في ذلك ؟؟
هناك يوزر بهذا الإسم انشأته داخل sql server 2012 واعطيته صلاحيات public ..-
-
انا في الأخير اريد نشر برنامجي على شبكة محلية .. هل الطريقة اللي حضرتك قلتها تنفعني ؟؟
لو تنفعني واسهل ياريت شرح لها ..
والله يعطيك الف عافية ..
الرد }}}}
تم الشكر بواسطة:
#5
يا ليت اقدر اكتب لك المزيد و لكني مشغول حاليا بمشروع و انا بالعمل ، لذلك اول نقطه وهي يجب عليك ان تحدد هل يوجد اتصال او لا كيف ذلك ، تابع هذا المقطع :

https://www.youtube.com/watch?v=D8S35-F4oPE

الفكره منها هي انشاء ملف نصي txt ، و قم بتغير الامتداد من txt الى udl الان افتح الملف هذا و قم باعداد الواجهه كما في مقطع الفيديو مع تعديل ما يلزم على حسب حالتك مثل ان قاعدة بياناتك موجود في ملف فقط قم بتحديد مسار الملف Attach Data File و تحدد موقع ملفك ، في النهايه عندما تضبط معك الامور و الاتصال ينجح فقط افتح الملف الذي انشأته ببرنامج notePad و ستجد بان connection String موجود و تقدر تستخدمه


و اعذرني على قصر الاجابه و اتمنى اذا ما انحلت معاك المشكله يساعدك غيري ، هي فقط مشكل الاتصال بقاعدة البيانات لا غير
اسم معرفي : محمد يحيى
الرد }}}}
تم الشكر بواسطة: أبو عمر , ممدوح , ممدوح
#6
تسلم استاذي .. ويعطيك الف عافية ..
الرد }}}}
تم الشكر بواسطة:
#7
استخدم IP السيرفر وليس اسمه
ثم لازم تكون مفعل IIS
ثم لازم تسمح للتطبيق بالوصول لقاعدة البيانات باضافة اسم التطبيق كمستخدم للقاعدة
الامر بسيط لكن زي ما يقولون السهل الممتنع
https://www.youtube.com/watch?v=IwbKquNBNgQ
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 رَبِّ اغْفِرْ لِي وَلِوَالِدَيَّ
Heart
الرد }}}}
تم الشكر بواسطة: ممدوح , ممدوح
#8
مرحبا اخي ابو عمر ..الفيديو المرفق اشكرك عليه بس هو عن رفع موقع asp ولا يتحدث عن قاعدة بيانات اصلا ..

بالنسبة لدالة الإتصال هل الدالة اعلاه صحيحة خلاف موضوع الآي بي ؟؟ .. استخدم الآيبي الخاص بالسيرفر .. ثم فاصلة ثم رقم البورت اللي هو غالبا 1433 إن لم تغيره هل هذا صحيح أم الآي بي فقط ؟؟
ماهي قيمة Integrated Security ؟؟
اسم المستخدم هو هو الإسم المنشأ في sql server في التبويت logins فقط أم اكتب معه اسم الجهاز ؟؟
هل يحتلف سيرفر الداتا بيز بين sqlexpress أو v11.0 في دالة الإتصال ؟؟
الرد }}}}
تم الشكر بواسطة:
#9
هل راح تحط في نفس السيرفر الموقع و SQLSERVER .. يعني كلها بنفس الجهاز .. او الموقع بجهاز و قاعدة البيانات بجهاز اخر
بالنسبه للبورت غير ضروري لانه يتعرف بشكل تلقائي انها 1433 لذلك لا تهم الان .
الانتقريشن سكيور يعني لو كنت مسجل دخول ع الكمبيوتر و عندك يوزر على الويندوز .. و هذي لها علاقه عند تثبيت SQL SERVER و نوع اليوزر الذي اضفته منها اليوزر sa
اسم معرفي : محمد يحيى
الرد }}}}
تم الشكر بواسطة: ممدوح
#10
لو وضعت نص الاتصال الخاص بك كان افضل (اقصد النص الذي ينجح به الاتصال من جهازك)
ثانيا اعتمد الطريقة التالية لنص الاتصال
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 و اكتب اسم المستخدم و كلمة المرور و جرب الاتصال
فاذا نجح الاتصال عندها يكون السيرفر جاهز للعمل مع هذا اليوزر 
فنفس البرنامج الذي يعمل على الجهاز الرئيسي يجب ان يعمل على الفرعي (بنفس نص الاتصال)
لان نص الاتصال يؤسس اتصال مع السيرفر (سواء كان السيرفر محلي او شبكة)
الفرق الوحيد هو قدرة الاجهزة الاخرى على التخاطب مع السيرفر بشكل سليم
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}}
تم الشكر بواسطة: ممدوح , ممدوح , myalsailamy


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


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