اقوم بتصميم برنامج علي sql باستخدام vb6 وقمت بانشاء stored procedures وتم استدعائها وتنفيذها جيداً علي جهاز server ولكن لا يتم تنفيذها علي اجهزة الشبكة الاخري مع العلم بان البرنامج يعمل بصورة جيدة علي كل الاجهزة
الاجراءات المخزنة
ماذا تحتوي هذه الاجراءات هل جمل استعلام عادية ام ماذا ؟
وكذلك هل تستطيع تنفيذ استعلامات مباشرة والاتصال بالسيرفر من اجهزة الكلينت ؟
الاخ TaregVb الشكر أجزله لسرعة الرد
الاجراءات المخزنة بها جمل insertfrom وتسمي cust1 و cust2 و cust3 والكود التالي موجود بالبرنامج المعد بواسطة vb6
Dim cmd As New ADODB.Command Dim cmd1 As New ADODB.Command Dim cmd2 As New ADODB.Command cmd.ActiveConnection = mydb cmd.CommandType = adCmdStoredProc cmd.CommandText = "CUST1" cmd.Execute cmd1.ActiveConnection = mydb cmd1.CommandType = adCmdStoredProc cmd1.CommandText = "CUST2" cmd1.Execute cmd2.ActiveConnection = mydb cmd2.CommandType = adCmdStoredProc cmd2.CommandText = "CUST3" cmd2.Execute
هذا الكود يتم تنفيذه بنجاح تام عند تشغيل البرنامج علي server ولكن تظهر رسالة error عند طلبه علي الأجهزة الأخري مع العلم بأن البرنامج به العديد من جمل select , update , ويعمل بنجاح تام علي كل الأجهزة والاتصال بالسيرفر يتم sa
شيء غريب فلم تواجهني مثل هذه المشكلة من قبل حيث لا يوجد فرق في تنفيذ الاجراء بين السيرفر والكلينت مادام هناك اتصال صحيح وجمل استعلام عادية في الاجراء .
لو امكن ان تجرب تنفيذ اجراء بسيط جدا ثم الانتقال اعقد قليلا حتى تعرف اساس المشكلة
وايضا لو امكن ان تعطينا رسالة الخطأ حتى نعرف تفاصيل الخطأ
الاخ TaregVb
سوف أقوم بعرض رسالة الخطأ صباحاً إن شاء الله صباحاً لأنها تظهر علي الشبكة الخاصة بشركة
ولكن لدي إضافة وهي أنني لم أقم بإنزال MSDE علي الأجهزة الطرفيه بل قمت باستخدام ODBC حيث قمت بإنشاء SYSTEM DSN متصلة بقاعدة البيانات بالسيرفر فهل لذلك تأثير مع العلم بأن كل الأوامر الأخري في البرنامج من إضافة وتعديل وعرض تعمل بصورة جيدة عدا الاجراءات المخزنة
لا لزوم لتنزيل ال MSDE
بالنسبة لل ODBC فهناك احتما ل كبير ان يكون الخطأ منها
الاخ TaregVb هذه هي رسالة الخطأ التي تظهر
Run-time error 430
class does not support Automation or does not support expected interface
مادمت تتكلم عن class does not support Automation يظهر انه هناك مكتبة او امر غير مدعوم تحاول طلبه
واعتقد ان هذه المشكلة في نسخة ال ADO الموجودة على الاجهزة وعليك بعمل مايلي
تأكد ان تنزل على نسخة الفيجوال بيسك SP6 وعمل اعداد لبرنامج من جديد طبعا ان لم تكن محدثة من قبل )
تحديث ال ADO على الاجهزة بحيث يكون متوافق مع السيرفر ويمكن تحديثه عن طريق الملف mdac_type.exe ابحث عنه في موقع مايكروسوفت او في سي دي ال SQL server وتأكد على ان تحصل على الاقل على الاصدار 2.7 .
وللتسهيل عليك نسخة mdac_type 2.7
الاخ TaregVb الشكر الجزيل علي الرابط ولدي استفسار ماهو نسخة الفيجوال بيسك SP6 واين أجدها
أما بخصوص المشكلة مع الاجراءات المخزنة فقد قمت بتغيير الويندوز من windows 2000 إلي windows XP علي احد الاجهزة الطرفية وفعلا تمكن من تنفيذ الاجراءات المخزنة ولا أدري ما الفرق
مع خالص شكري وتقديري
SP6 = service pack 6
هي تحديثات للفيجوال بيسك واعتقد بوجود رابط لها في قسم الفيجوال بيسك (روابط مهمة)
والفرق هي في ADO او ادوات الربط مع قواعد البيانات mdac_type ففي الويندوز 2000 لا تكون محدثة وبالتالي لاتستطيع دعم كل الاوامر الحديثة للتصال في قواعد البيانات لذا يمكنك العمل على 2000 لكن يجب ان تحدث mdac
هذا الموضوع مغلق.
