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

كيف انصب البرنامج على الاجهزة الاخرى

بدأه حسن يوسف في 25 ديسمبر 2008 · 9 رد · 1,560 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

با ختصار سويت برنامج على فيجوال بيسك 2008 ( البرنامج عبارة عن قاعدة بيانات ) طبعا انا منزل على جهازي SQL 2005 المهم سويت للبرنامج نشر ( ست اب ) وحاولت انزله على جهاز آخر ليس به الفيجوال بيسك وكذلك ليس به SQL البرنامج نزل على الجهاز 100% بس لما اشغله يطلع لي خطأ ( الربط مع قاعدة البيانات )

سؤالى أو أسئلتي هي

1- هل لابد ان يكون SQL موجود على الجهاز الآخر وهل لابد نفس الاصدار

2-لو نصبت ال SQL على الجهاز الاخر كيف اتحكم بسلسلة الاتصال ( اعتقد لازم تتغير حسب مسمى السيرفر )

3- هل لما اسوي ست اب للبرنامج يكفي يعني هل يتم ضم قاعدة البيانات نفسها ام يلزمني عمل آخر

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

تم تعديل هذه المشاركة بواسطة حسن يوسف في 25 ديسمبر 2008 في 02:16

#2

السلام عليكم ورحمة الله

1- الجواب ( يجب عليك تنزيل الـ Sql Server إذا كان جهاز واحد فقط يعني Client أما إن كان البرنامج لشركة مثلا يكفي تنزيل الـ Sql Server على Server أما من أجل الإصدار نفسه ولا لأ .... بالظبط ما بعرف بس أظن والله أعلم انو ما يحتاج نفس الإصدار لأن اللاحقة تبع الداتابيس هي نفسها ما تتغير mdf هذا رأي يمكن يكون مو صح ما بعرف

أنتظر الأخوة لكي يرون ما في الأمر )

2 - الجواب ( تمام أخي لازم يكون اسم السيرفر غير يلي على جهازك يعني لازم تغير اسم السيرفر ... هناك طريق حلوه ورائعه رح أعطيك ياها بعدها ما في حاجة انت تغير اسم السيرفر يدويا

وهي (

Dim ConnectionString = "Data Source=" + System.Environment.MachineName + ";Initial Catalog=DataBaseName;Integrated Security=True

3 - أخي بإمكانك تعمل Attach للداتابيس على جهاز العميل في الـ Sql Server أو طريقه أخرى أحسن وهي أن تضع الداتابيس وتقرأمنها في مجلد الديبج ثم في مجلد DataBase وبعدين غير الـ connection String إلى

ConnectionString As String = "Data Source=" + System.Environment.MachineName + ";AttachDbFilename=" +

System.Windows.Forms.Application.StartupPath +

@"\Database\DataBaseName.mdf;Integrated Security=True";

------------------------------------------------------------------------------------------------------------------------------

طمني إن شاء الله وجدت شرحا كا فيا .... إذا في عندك سؤال لاتتردد نحن بالخدمة

أتمنى لك التوفيق والنجاح

تم تعديل هذه المشاركة بواسطة am_proactive في 25 ديسمبر 2008 في 03:16

من وجد الله فماذا فقد -- ومن فقد الله فماذا وجد

Don't Say I Don't Know But Say I Will Try

#3

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

جزاك الله كل خير اخي am_proactive

ما قصرت الله يعطيك الصحة والعافية بس ترى اخوك توه عويلم والله يعينك على اسئلة المتعلم

بالنسبة للفقرة (1) مفهومة 100% ولكن الا يوجد طريقه لجعل البرنامج اثناء تنصيبه عل جهاز العميل يبحث عن وجود SQL من عدمه واذا لم يجده يقوم بتنزيله من نفس ال CD الخاص بالبرنامج

بالنسبة للفقرة (2) اين اضع الكود بالضبط وهل يكون كما هو من دون ان اضع اسم القاعدة

بالنسبة للفقرة (3)

- اولاً اية مجلد Debug فيهم كما تعلم هناك 2 واحد داخل مجلد bin والثاني داخل مجلد obj

- ثانياً انا حاولت انسخ قاعدة البيانات ولكن لم استطع وتطلع لي الرسالة

c726db7603.jpg

طبعا اغلقت كل البرامج وحتى قفلت الفيجوال نفسه ولم استطع تظهر نفس الرسالة اعدت تشغيل الجهاز ونفس الموضوع

-ثالثا لو اني وضعت القاعدة في مجلد الدتا بيس في مجلد الديبق وبعدين انشأت البرنامج( النماذج والتقارير ) هل هناك داعي لتغيير سلسلة الاتصال التي تُنشأ اثناء اعداد الداتا سورس

-رابعا لو طبقت كل ما ورد في الفقرة (3) هل هناك داعي لتغيير السلسلة كما ورد في الفقرة (2 ) عند نقل البرنامج على جهاز العميل

-واخيرا بالنسبة للـ Connection String التي في الفقرة (3) هل اكتبها في خصائص البرنامج في اعداد الـ Settings ام ماذا ؟؟ علماً بأنني حاولت وظهرت رسالة خطأ مفادها ان الصيغه غير صحيحة

اعتذر عن كثرة الاسئلة واكرر لكم شكري وتقديري على ما قدمتوه لنا من معلومات رائعه

تم تعديل هذه المشاركة بواسطة حسن يوسف في 25 ديسمبر 2008 في 21:35

#4

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

1 - هناك طريقة من أجل وضع الـ Sql Server بدون ما تنزله انت على السيدي وهي أولا يجب عليك معرفة كيفية عمل Setup لمشروعك وعند إنشائها تخبر الـ Setup قبل أن يصبح جاهزا للتنزيل بإن ينزل

الـ Sql Server 2005 Express Edtion سوف يضع الـ SQL لديك في الملفات

أنا ما بعرف إذا في طريقة للبحث على الـ SQL إذا كان غير موجود

2 - صديقي هذا الكود بعد ان تكتبه تسندها للـ SqlConnection وأنا كتبت لك DataBasename لكي تضع أنت اسم قاعدة البيانات فيها

3 - مجلد الـ bin

يجب عليك إيقاف خدمة الـ sqlservr.exe عن طريق ctrl + alt + Delete ثم بالذهاب إلى الـعمليات الحالية التي تعمل ثم وقف هذه العملية ثم قم بنسخ الداتابيس

-- أخي العزيز لا أطن ان هناك داعي لتغير السلسلات .. طبعا أكيد أن تتعامل مع الـ DataBase برمجيا وليس عن طريق Wizard من أجل أن يكون كلامي صحيح

أتمنى أن تكون الفكرة وضحت لديك .. أي إستفسار نحن في الخدمة

تم تعديل هذه المشاركة بواسطة am_proactive في 26 ديسمبر 2008 في 00:23

من وجد الله فماذا فقد -- ومن فقد الله فماذا وجد

Don't Say I Don't Know But Say I Will Try

#5

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

مشكور عزيزي على مجهوداتك وتحملك اسئلة المبتدىء الى تجيب الهم .... والله يجعل ذلك في موازين حسناتك

اقتباس
2 - صديقي هذا الكود بعد ان تكتبه تسندها للـ SqlConnection وأنا كتبت لك DataBasename لكي تضع أنت اسم قاعدة البيانات فيها

سويت مثل ما ذكرت فظهر لي الخطأ التالي

4aea43364d.jpg

مع العلم ان قاعدة البيانات اسمها MyFamily

وقد وضعتها في مجلد DataBase داخل مجلد Debug مثل ما ذكرت لي

كذلك بالنسبة للكود

اقتباس
3 - أخي بإمكانك تعمل Attach للداتابيس على جهاز العميل في الـ Sql Server أو طريقه أخرى أحسن وهي أن تضع الداتابيس وتقرأمنها في مجلد الديبج ثم في مجلد DataBase وبعدين غير الـ connection String إلى

ConnectionString As String = "Data Source=" + System.Environment.MachineName + ";AttachDbFilename=" +

System.Windows.Forms.Application.StartupPath +

@"\Database\DataBaseName.mdf;Integrated Security=True";

لم افهم اين يتم وضعه ولماذا

والله اشغلتك معاي .... الله يعطيك العافيه ويجعل ذلك في موازين حسناتك

#6

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

أهلين بالأخ الغالي ..و أنت ما عليك أي سؤال أسأل والله أنا سعيد لما تسأل .. بالعكس أخي

وياريت الشباب كلهم هيك حريصين على التعلم

----------------------------------

أخي أولا أنت تتعامل مع الـ DataGridView بالـ Wizard وليس بالكود وعلى فكرة طريقتك صح أظن ولكن أين المشكلة

المشكلة هي أنك صديقي الغالي أنك وضعت الـ DataBase في ملف Bin - Debug طيب لماذا أنت وضعت في الـ Cataloge في جملة الإتصال اسم الـ DataBase فقط

يجب عليك وضع

اقتباس
ConnectionString As String = "Data Source=" + System.Environment.MachineName + ";AttachDbFilename=" +

System.Windows.Forms.Application.StartupPath +

@"\Database\DataBaseName.mdf;Integrated Security=True";

بما أنك واضعها في الديبج يجب عليك كتابة هيك

أما إذا تركته بمكانها الأصلي في ملف الـ SQL Server في ملف

C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data

وقتها بتحط الـ Catolog هي MyFamily تمام

----------------

عندما تنزل الـ SQl Server في جهاز العميل -- بعد أن تدخل على الـ SQL Server تضع اسم السيرفر يعني الـ Login تذهب إلى الـ DataBase ثم بالضغط بالمواس على اليمين على ذا المجلد

إختيار يطلعلك Attach تجيب الدااتابيس وتعملها Attach بمكان الداتا بيس يلي انت واضعها

بس أنا براي أنك تضع الداتا بيس في مجلد الـ Debug وتعمل جملة الإتصال التالية أحسنلك

اقتباس
ConnectionString As String = "Data Source=" + System.Environment.MachineName + ";AttachDbFilename=" +

System.Windows.Forms.Application.StartupPath +

@"\Database\DataBaseName.mdf;Integrated Security=True";

أتمنى أن تكون الفكرة قد وضحت لك

إذا في سؤال إسأل وأتمنى من الأعضاء التي لديهم خبرة أن يشركونا لأمر لكي نستفيد منهم

من وجد الله فماذا فقد -- ومن فقد الله فماذا وجد

Don't Say I Don't Know But Say I Will Try

#7

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

استخدمت الكود كما ذكرت ولكن لم يعمل ويظهر خطأ تحت علامة @

   Dim MyConnectionString As String
MyConnectionString= "Data Source=" + System.Environment.MachineName + ";AttachDbFilename=" + System.Windows.Forms.Application.StartupPath + @"\Database\MyFamily.mdf;Integrated Security=True";


		TblFaTableAdapter1.Connection.ConnectionString = MyConnectionString
		TblFaTableAdapter1.Fill(DataSet1.TblFa)

طبعاً حاولت على قد معرفتي البسيطة ان اجد الخطأ واستخدمت الكود التالي واشتغل 100%

 Dim MyConnectionString As String
		MyConnectionString = "Data Source=" + System.Environment.MachineName + ";AttachDbFilename=" + System.Windows.Forms.Application.StartupPath + "\DataBase\MyFamily.mdf;Integrated Security=True"

فما هو الصحيح وهل ما عملته صواب

تم تعديل هذه المشاركة بواسطة حسن يوسف في 26 ديسمبر 2008 في 19:12

#8

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

صديقي العزيز أنا يهمني انو البرنامج اشتغل عندك تمام أهم شئ

لأن انا ممكن يكون عندي أخطاء بالكود ... وشي حلو كتييير منك انك أجتهدت

أنا مهمتي انو أعطيك طرف الخيط وانك عليك الإبداع

وإن شاء الله أن أكون أعطيتك لو طرف بسيييط من الخيط

صديقي شكرا جزيلا على تنبيهي على هذا الخطأ

أمانة إذا عندك سؤال لا تتردد فأنا في الخدمة

أتمنى لك التوفيق والنجاح

أتمنى أن لا تنسانا من دعاوتك الخالصات

تم تعديل هذه المشاركة بواسطة am_proactive في 26 ديسمبر 2008 في 20:12

من وجد الله فماذا فقد -- ومن فقد الله فماذا وجد

Don't Say I Don't Know But Say I Will Try

#9

اسأل الله العلي العظيم ان يوفقك في كل أمور حياتك

وان يرزقك من حيث لا تحتسب

اخي العزيز العفو انا لم اقصد ان اظهر أن هناك خطأ وأنا الذي اكتشفته واصلاً انا كنت أود أن أتأكد منك هل ما قمت به صحيحاً

أي هل العلامة @ لا داعي لها

وانا ادين بالفضل بعد الله لك فقد أوضحت لي الكثير من الامور التي كانت غير واضحة بالنسبة لي

واتمنى أن تسمح لي بمراسلتك لو احتجت مساعده

كل الشكر والتقدير اقدمه لك

تقبل تحياتي

#10

السلام عليكم ورحمة الله

بالعكس أخي أنا ماقصدي هيك بالمره ولكن نبهتني على امر أنا لم أنتبه عليه فقط

جزاك الله خيرا

أنا إميلي أرسلتلك ياه رسالة خاصة في صندوقك للتواصل

تم تعديل هذه المشاركة بواسطة am_proactive في 26 ديسمبر 2008 في 21:25

من وجد الله فماذا فقد -- ومن فقد الله فماذا وجد

Don't Say I Don't Know But Say I Will Try

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…