INFO: "يتم ميزة اختيارية غير التنفيذ" ظهور رسالة الخطأ

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية214459
إخلاء مسؤولية من محتوى قديم في قاعدة المعارف
عن تقديم الدعم التقني لهاو لذلك تظهر هذه المقالة كما هي و لن يتم تحديثها Microsoft تمت كتابة هذه المقالة بخصوص منتجات توقفت
الموجز
عند استخدام كائنات بيانات ActiveX (ADO) إلى تمرير المعلمات إلى إجراء مخزن قد تظهر رسالة الخطأ التالية:
خطأ وقت التشغيل 2147217887 (80040e21):
[Microsoft][برنامج تشغيل ملقم SQL ODBC] لم يتم التنفيذ ميزة اختيارية.
معلومات أخرى
يمكن أن يحدث هذا الخطأ إذا حاولت تعيين نوع معلمة في مجموعة المعلمات الكائن الأمر ADODB إلى نوع غير معتمد من قبل موفر البيانات.

على سبيل المثال، باستخدام SQL Server 7.0 إنشاء إجراء مخزن في قاعدة بيانات pubs (الناشرون):
   CREATE PROCEDURE GetEmployeeInfo (@thedate datetime, @NumEmployees int output)AS        SELECT @NumEmployees =  count(*) FROM EMPLOYEE WHERE hire_date < @thedate   GO				
إرجاع هذا الإجراء المخزن معلمة إخراج من النوع عدد صحيح يشير إلى عدد الموظفين الذين تم تعيينهم في خلال السنتين قبل تاريخ محدد. يتم تمرير التاريخ إلى الإجراء المخزن كمعلمة ثم يتم تمرير عدد الموظفين إلى برنامج الاستدعاء كـ معلمة إخراج.

الآن إنشاء تطبيق ADO لاستخدام الإجراء المخزن. تتم كتابة المثال المعطى في Visual Basic.
Private Sub MySubroutine()Dim dbConnection As ADODB.ConnectionDim dbCommand As ADODB.CommandSet dbConnection = New ADODB.ConnectionSet dbCommand = New ADODB.CommandDim DSNNAME As StringDim USERNAME As StringDim PASSWORD As StringDSNNAME = "Pubs"USERNAME = "sa"PASSWORD = ""dbConnection.Open DSNNAME, USERNAME, PASSWORDdbCommand.ActiveConnection = dbConnectionDim TheDate As DateTheDate = NowdbCommand.CommandText = "GetEmployeeInfo"dbCommand.CommandType = adCmdStoredProcdbCommand.Parameters.Append dbCommand.CreateParameter("@thedate", adDBDate, adParamInput, 0, TheDate)dbCommand.Parameters.Append dbCommand.CreateParameter("@NumEmployees", adInteger, adParamOutput, 0)dbCommand.ExecuteDim strTheString As StringstrTheString = "There are " & dbCommand.Parameters("@numemployees") & " employees who were hired before " & TheDateMsgBox strTheString, vbOKOnly, "Demonstration"End Sub				
عند تشغيل نموذج التعليمة البرمجية فإنه يعطي هذا الخطأ:
خطأ وقت التشغيل 2147217887 (80040e21):
[Microsoft][برنامج تشغيل ملقم SQL ODBC] لم يتم التنفيذ ميزة اختيارية.
وهذا لأن SQL Server لا يعتمد نوع البيانات adDBDate. لتصحيح هذه المشكلة، قم بتغيير نوع بيانات المعلمة @ theDate إلى adDBTimeStamp.

لتحديد العدد أسماء أنواع وأحجام من المعلمات المطلوبة في إجراء مخزن استخدام الأسلوب Parameters.Refresh لكائن الأمر. يمكن استدعاء هذا الأسلوب أثناء تطوير التطبيق الخاص بك لتحديد متطلبات الصحيح الإجراء المخزن ثم إزالة استدعاء تكلفة Parameters.Refresh بعد أن جمع البيانات الضرورية.
قاعدة البيانات

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 214459 - آخر مراجعة: 08/23/2001 09:52:00 - المراجعة: 1.0

Microsoft ActiveX Data Objects 2.0, Microsoft ActiveX Data Objects 2.1 Service Pack 2, Microsoft ActiveX Data Objects 2.5, Microsoft ActiveX Data Objects 2.6, Microsoft ActiveX Data Objects 2.7

  • kbmt kbinfo kbstoredproc KB214459 KbMtar
تعليقات