تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
أريد تحويل مشروعي من اكسس الى sql
#11
(29-12-14, 08:08 AM)Dr.Sherif Alazizi كتب : جزاك الله خيرا أخي الكريم وبارك لك وعليك على مجهودك وتعبك لتوضيح الغامض لدي

لكن لدي سؤال من فضلك

من ناحية قاعدة البيانات SDF التي اشرت اليها في آخر موضوعك ..
هل تحتاج ان ارفق ملفات SQL SERVER مع المشروع وتنصيبها على جهاز العميل ؟

لا تحتاج فقط بعض الملفات تظاف من خلال الريسورس تلقائياً مع المشروع وتستطيع تثبيتها في جهاز العميل إذا كان لا يحتوي على هذه الملفات فقط ابحث في قوقل عن SQL Server Compact والاصدار الموافق للقاعدة


لم أجد المرجع System.Data.SqlServerCe المحدد في الشرح المرفق  ...  فما الحل ؟؟

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





لاحظ الاصدار ^ 3.5 هناك اكثر من اصدار ولكل نتفريم اصدار

اما لو كان الفجول 2013 فيلزم تحميل الادوات من هنا  وتثبيتها ثم
















هل تعتبر في قدرتها في استيعاب البيانات كقدرة قاعدة بيانات SQL التي تتم عملها بالطريقة العاديه ام انها تختلف عنها  وهل تختلف عن قدرتها كثيرا عن قاعدة بيانات الاكسس ؟

sdf الاصدار 3.5 كان يستحمل 2 Gb لا اعرف هل الاصدار 4 زادو الحجم ام لا. هذه الطريقة تستخدم للبرامج الصغيرة فقط اما البرامج الكبيرة التي تخزن ملايين المعلومات يفضل تستخدم النسخة الكاملة لشمولية البيانات والحجم قد يتجاوز 30 تيرابايت.
اما الاكسس تشبه SDF من ناحية الحجم وطرق الاستخدام.


جزاك الله خيرا اخي الكريم
الرد }}}
تم الشكر بواسطة:
#12
والله اخي  Alktab انا عاجز عن شكرك واتمنى ان اكون مثلك في العطاء ولا أبخل بشيء واتمنى ان يكثر الله من أمثالك

واعرف والله اني تعبتك

اخي الفاضل لن استفيد اذا اي شيء لو حولت المشروع الى sdf 
والطريقة الاصليه للتحويل من اكسيس الى sql عندي فيها مشاكل

واعدادات جهازي اظنها مختلفه نوعا ما عما هو مشروح عليه لذا اظن ان الموضوع سيطول
فانا اعمل على فيجوال ستوديو 2010  وويندوز 8 
واعدادات الsql عندي بالجهاز مختلفه لا ادري لماذا ولا استطيع تفعيل خاصيه مغلقه ايضا لا ادري لماذا

لكن اخي لدي حل واريد رأيك فيه

لو استخدمت خاصيه انشاء قاعدة بيانات sql من داخل برنامج الفيجوال ستوديو
عندما اقوم بانشائها من داخله يتم الاتصال بشكل سليم

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

انا قمت بعمل تجربة انشاء قاعدة بيانات من داخل الفيجوا ونجحت بالطريقة التاليه




هل هذه الطريقه صحيحه ؟
هل استمر في عملي ولو حتى ان اقوم باضافه جداول وحقول القاعدة الاصليه - الاكسيس - يدويا من جديد وان كانت سترهقني ولكن لا مانع من التعب

لو هذه الطريقه صحيحه هل استخدم السيرفر نيم هذا  ام ان هناك اسم اخر ؟
ماهي جملة الاتصال الصحيحه ليتم الاتصال بالكود .. ؟؟
وهل لو يمكنني بعد ذلك ربط اكثر من جهاز بشبكة داخليه حتى لو بطريق الاسلاك بدون sql server  .. اقصد عن طريق جعل مجلد في الشبكه مشير بشكل عام على اجهزة الشبكه ؟؟

واين اجد ملف القاعدة هذا الذي سأقوم بارفاقه مع المشروع ؟؟
وأظن انه هنا لابد من تنصيب sql server 2008 على جهاز العميل


انا محرج منك والله ..

جزاك الله خيرا
الرد }}}
تم الشكر بواسطة:
#13
(30-12-14, 02:34 AM)Dr.Sherif Alazizi كتب : والله اخي  Alktab انا عاجز عن شكرك واتمنى ان اكون مثلك في العطاء ولا أبخل بشيء واتمنى ان يكثر الله من أمثالك

واعرف والله اني تعبتك

لا عليك اخي كل هنا نستفيد على قد ما تعلمنا هنا

اخي الفاضل لن استفيد اذا اي شيء لو حولت المشروع الى sdf 
والطريقة الاصليه للتحويل من اكسيس الى sql عندي فيها مشاكل

هنا تعلمت خطوة جديدة في عالم الخوارزميات وتحليل النظم ويجب أن تحفظ هذا الموقف حتى لا تقع في اخطأ في المستقبل
بما تريد أن تعمل وتحديد الموارد المناسبة للمشروع !! سواء كان كبير او صغير, دائما في عالم البرمجة تعلم حل المشكلة ولا تستبدل الخيارات إلا في اضيق الحدود ! فعمليات تحويل قواعد البيانات يتخللها ( الاصدارات انواع البيانات ولكل برنامج قواعد بيانات امور متلازمة يلتزم بها المبرمج وفق التعليمات لكل اصدار فمن الطبيعي حصول اخطأ اثنا التحويل اكسس لا يفهم اسيكيول سيرفر والعكس تلك بيئة وهذه بيئة لها قواعد وشروط ) دائما تواجهنا هذه المشاكل في العمل فلا تهتم.


واعدادات جهازي اظنها مختلفه نوعا ما عما هو مشروح عليه لذا اظن ان الموضوع سيطول
فانا اعمل على فيجوال ستوديو 2010  وويندوز 8 
واعدادات الsql عندي بالجهاز مختلفه لا ادري لماذا ولا استطيع تفعيل خاصيه مغلقه ايضا لا ادري لماذا

الاعدادات كلها نفس الشيء ربما الاختلاف في التصميم واللغة فقط وهذا قد يسبب سوء فهم في الوهلت الاول لمتابعت الشروحات.
دائما اثناء تنصيب SQL SERVER تحقق من تفعيل الخيارات المهمة.
إذا كان هناك خاصية مغلقة تاكد ان السيرفر أو نظام ويندوز لا يتعارض مع الخدمات وكذلك جدار الحماية.
عادةٍ اتخلص من هذه المشاكل باعادة تنصيب السيرفر بعد تنظيف الرجستري والقرص سي والمخلفات هذا إذا استعص المشكلة.
SQL SERVER 2008 هذا الاصدار قد عملة عليه مسبقاً بالفعل يوجد به مشاكل كثيرة وقد انتقلت الى SQL SERVER 2012
ونظام ويندوز 9 ولم ارى اي مشاكل سوى فقط في الصلاحيات وجدار الحماية ....لا تهتم اخي مع الايام تصبح جميع مشاكل SQL SERVER سهله عليك ولو راجعت مواظيعي السابقة لوجدت اني اعاني من هذه المشاكل.


لكن اخي لدي حل واريد رأيك فيه

لو استخدمت خاصيه انشاء قاعدة بيانات sql من داخل برنامج الفيجوال ستوديو
عندما اقوم بانشائها من داخله يتم الاتصال بشكل سليم

اكيد يتم الاتصال بالشكل السليم اخي لأن ما يكروسفت وظعت كل الاحتمالات الفعلية بالاتصال بالقاعدة داخل الفجول وتعتبر الطريقة مشابهة لأنشاء قاعدة من داخل SQL SERVER

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

ليست بصيقة dbo الصيقة الفعلية هي mdf توجه إلى المسار


إقتباس :C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA

وستجد القاعدة هناك باسم DBnew.mdf l مع ملف اللوق تبعها DBnew_log.ldf
لنسخها قم بتعطيل السيرفر

بالتأكيد اخي تكون قاعدة DBnew.mdf l ذات جودة عالية وسعة تخزين كبيرة


انا قمت بعمل تجربة انشاء قاعدة بيانات من داخل الفيجوا ونجحت بالطريقة التاليه




هل هذه الطريقه صحيحه ؟
هل استمر في عملي ولو حتى ان اقوم باضافه جداول وحقول القاعدة الاصليه - الاكسيس - يدويا من جديد وان كانت سترهقني ولكن لا مانع من التعب

نعم استمر وبعد الانتهاء لو حاب تنسخها عطل السيرفر وخذها من المسار


إقتباس :C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA
تذكر : قد يختلف اصدار Microsoft SQL Server الذي لدي عن اصدارك لذا انتبه للمسار الصحيح

لو هذه الطريقه صحيحه هل استخدم السيرفر نيم هذا  ام ان هناك اسم اخر ؟
اكيد اخي استخدم هذا السيرفر والذي اعتمد اثناء تنصيب Microsoft SQL Server في جهازك
ولاكن تذكر جميع جمل الاتصال مرتبطة بهذا الاسم لو ثبت السيرفر بجهاز العميل يلزم تسمي الاسماء مثل ما كانت او اجعل الاتصال من ملف خارجي كما طرحت لك في المشاركات السابقة وريح راسك من التعديل.
ملاحظة مع الانظمة الحديثة قد تقع مشاكل مع الصلاحيات لذا تعرف على المسارات التي تتطلب تصريح في ويندوز كمسار البرامج الافتراضي C:\Program Files
وتجنب وضع قواعد البيانات بها افضل مسار هو في القرص سي او دي مباشرة

ماهي جملة الاتصال الصحيحه ليتم الاتصال بالكود .. ؟؟

تجدها على نفس القاعدة




وكذلك








وهل لو يمكنني بعد ذلك ربط اكثر من جهاز بشبكة داخليه حتى لو بطريق الاسلاك بدون sql server  .. اقصد عن طريق جعل مجلد في الشبكه مشير بشكل عام على اجهزة الشبكه ؟؟

لابد من تنصيب sql server على الجهاز الرئيسي الذي به القاعدة والسماح sql server على تلقي الاتصالات كما في المشاركات السابقة من الخارج هذه الطريقة المظمونة اما المشاركة فلا اعرف لم اجربها إلا على sql server 2003 وكانت تعمل اما الاصدارات sql server 2005 واعلى لا اظن بسبب الصلاحيات

واين اجد ملف القاعدة هذا الذي سأقوم بارفاقه مع المشروع ؟؟

إذا تقصد sdf تفضل ملفات الاصدار 3.5 
وملفات الاصدار 4

وأظن انه هنا لابد من تنصيب sql server 2008 على جهاز العميل

ملفات sdf لا تحتاج sql server 2008 فقط ملفات mdf


انا محرج منك والله ..

خذها قاعدة الحرج لا يوصلك إلا إلى معلومات ركيكه وهشة كنى مثلك يوم من الايام Shy

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

وجزاك Heart
الرد }}}
تم الشكر بواسطة:
#14
عاجز عن شكرك اخي Alktab والله

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

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

وانتظرني في اسئلة ومشاكل جديده (-_-)
الرد }}}
تم الشكر بواسطة:
#15
السلام عليكم ورحمة الله وبركاته

اخي Alktab 


قمت بتحويل قاعدة البيانات الحمد لله الى الـ sql


وكتبت اكواد الاتصال


وعند تشغيل البرنامج لا يتصل !!


وهذا نص الخطأ






علما بان هذه بيانات الاتصال في السيرفر عندي 


فال sql server agent متوقف ولا استطيع تفعيله  فخيار تشغيله غير فعال  كذلك الحال في sql server browser

فما الحل بارك الله فيك

تم حل المشكله بفضل الله وتم الاتصال بقاعدة البيانات بنجاح بفضل الله

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

فلك الفضل بعد الله في انجاز هذا العمل .. بارك الله فيك اخي alktab
الرد }}}
تم الشكر بواسطة:
#16
إقتباس :السلام عليكم ورحمة الله وبركاته

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

بارك الله فيك

لكن هناك نقطه شيبتني لا أعلم سببها

كل ما اقوم بعمل قراءه للبيانات من القاعده يعطيني هذا الخطأ


كود :
كود :
There is already an open DataReader associated with this Command which must be closed first.

وهذا هو الكود المستخدم 


كود :
كود :
      Dim cmd As New SqlCommand("select * from " & table_name & " where " & DB1 & " = '" & txt1 & "'", cn)
       Dim dr As SqlDataReader = cmd.ExecuteReader
       dr.Read()

على الرغم انه لايوجد DataReader مفتوح قبل هذا الكود

قمت باغلاق الاتصال بالقاعده وفتحه من جديد لكن نفس المشكله

في حين ان هذا هو نفس الكود المستخدم مع قاعدة الاكسيس قبل تحويلها بعد تغيير الفئة من oledb الى sqlcommand

ما الحل

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

الخطأ منطقي في كل مره تفتح اتصال يجب اغلاقه بعد تنفيذ المهمة سواء كان DataReader sqlcommand او اي عملية تستخدم للقراءة والتنفيذ.

تخيل معي انت تنفذ الكود التالي على التسلسل :
1- فتح الاتصال بالقاعده
2- ثم القراءة او تنفيذ الاوامر

ثم تاتي بعد ذلك لتنفيذ امر ما في الوقت نفسه الذي طبقت فيه الكود السابق او اي امر مشابه كما سبق
1- فتح الاتصال بالقاعده > سيخرج خطأ هنا والسبب لم تغلق الاتصال بعد تنفيذ الاوامر السابقه انت هنا تطلب فتح الاتصال وهو مفتوح اصلا سيتوقف التطبيق هنا ولن يواصل تنفيذ بقيت الاكواد.
2- ثم القراءة او تنفيذ الاوامر > لن يتم تنفيذه بسبب الخطأ السابق.

الكود الصحيح لتجاوز هذه المشكلة في جميع اوامر تطبيقك ( الفتح ، القراءة ، التنفيذ )

0- التحقق من الاتصال إذا كان مفتوح قم باغلاقه
1- وعند التنفيذ افتح الاتصال بالقاعدة
2- ثم القراءة او تنفيذ الاوامر
3- الان اغلق الاتصال


^ هذه الطريقة الصحيحه  (للأتصال والقراءة او التنفيذ ) Shy

وبالتالي حل مشكلتك كما يلي


إذا كان الاتصال مفتوح ' If cn.State = ConnectionState.Open Then

                قم باغلاقه'     cn.Close()
                End If

Dim cmd As New SqlCommand("select * from " & table_name & " where " & DB1 & " = '" & txt1 & "'", cn
 افتح الاتصال' cn.Open()
       Dim dr As SqlDataReader = cmd.ExecuteReader
       dr.Read()


اغلق الاتصال cn.Close
  اغلق القراءة dr.Close


والان تم الانتهاء من المشكلة بفضل الله
وفقك الله

Heart
الرد }}}
تم الشكر بواسطة:
#17
السلام عليكم

اخي الكريم  .. جزاك الله خيرا على ردك واهتمامك

لكن ظهرت لي هذه المشكله



cn_state ()  هو كود اغلاق الاتصال ان كان مفتوح
وعلى الرغم اني استخدمت نفس الاسلوب الذي طرحته  تجد هنا ان الـ dr مفتوحه ولكنه يشعر انها مغلقه
ما الحل بارك الله فيك
الرد }}}
تم الشكر بواسطة:
#18
كيف كتبت cn_state ()
جرب تحذف dr.Close

إذا لم ينجح اطرح الكود كامل حتى نحدد الخطأ
الرد }}}
تم الشكر بواسطة:
#19
Friend Sub cn_state()
If cn.State = ConnectionState.Open Then
cn.Close()
End If
End Sub


وحذفت dr.close
ونفس المشكله كما هي
والكود المستخدم ظاهر في الصوره في الرد السابق

حاولت كثيرا والله وبحثت عن حلول كثيره ولم اجد حل
الرد }}}
تم الشكر بواسطة:
#20
ارفق المشروع او ارسله على الخاص إذا كان خاص
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة في تحويل الكود من فيجوال بسيك 6 الى فيجوال دوت نت سيد أحمد 5 829 23-03-25, 10:54 PM
آخر رد: سيد أحمد
  ادخال درجات الطلاب لقاعدة بيانات اكسس .. مساعدة Tajaldeen 9 2,758 07-02-25, 07:59 PM
آخر رد: الورد2
  كيف يمكن تحويل ملف تنفيذى الى فيجوال بيسك 2010 walkady 2 789 07-02-25, 07:57 PM
آخر رد: الورد2
  طريقه تحويل اى قاعده بيانات الى ملف dll فى المشروع خالد كامل1 1 643 31-01-25, 10:21 PM
آخر رد: Kamil
  تحويل معادلة اكسل أحمد فتح الرحمن 1 481 29-01-25, 11:09 PM
آخر رد: أحمد فتح الرحمن
  اريد كود يحذف جميع سجلات جدول بقاعدة بيانات اكسس دفعه واحده khalidalwdi 2 647 18-11-24, 01:02 AM
آخر رد: rdxdz
  اريد جلب عدد محدد من السجلات من قاعدة بيانات اكسس الى الداتا قراد فيو يوجد مثال khalidalwdi 2 673 12-11-24, 12:19 PM
آخر رد: khalidalwdi
  [VB.NET] تحويل لغة الأرقام في فيجوال ستوديو AboBattal 2 395 12-11-24, 08:11 AM
آخر رد: أبو خالد الشكري
  لدي كود للإضافة أريد كود للتعديل وكود للحذف F.H.M 4 359 09-11-24, 09:50 AM
آخر رد: F.H.M
  [VB.NET] تحويل من hexadecimal الى ASCII aminesori 2 374 07-11-24, 11:18 PM
آخر رد: aminesori

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


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