تصحيح: رسالة خطأ عند استدعاء التطبيقات أساليب SqlConnection.Open أو أساليب OracleConnection.Open خلال عدة مؤشرات ترابط متعددة في نفس الوقت في التطبيقات ADO.NET 2.0: "إينديكسوتوفرانجيكسسيبشن"

الأعراض

إذا كان لديك التطبيقات التي تستدعي أساليب SqlConnection.Open متعددة أو
أساليب OracleConnection.Open من خلال مؤشرات ترابط متعددة في نفس الوقت في Microsoft ADO.NET 2.0، قد تتلقى رسالة الخطأ التالية:
System.IndexOutOfRangeException: كان الفهرس خارج حدود الصفيف.
بالإضافة إلى ذلك، يتم إنشاء ملف تفريغ في مجلد السجل ملقم SQL.

الحل

معلومات الإصلاح العاجل

الآن يتوفر إصلاح عاجل معتمد من Microsoft. ومع ذلك، الغرض منه هو حل المشكلة الموضحة في هذه المقالة فقط. تطبيقها فقط على الأنظمة التي تواجه هذه المشكلة بالتحديد. قد يتم إجراء اختبارات إضافية على هذا الإصلاح العاجل. لذلك، إذا لم يكن تأثير المشكلة كبيرًا، نوصي بالانتظار حتى إصدار حزمة خدمة Microsoft.NET Framework 2.0 التالية التي تحتوي على هذا الإصلاح العاجل.

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

المتطلبات الأساسية

لتطبيق هذا الإصلاح العاجل، يجب عليك تثبيت.NET Framework 2.0.

متطلبات إعادة التشغيل

ليس من الضروري إعادة تشغيل جهاز الكمبيوتر بعد تطبيق هذا الإصلاح العاجل.

معلومات استبدال الإصلاح العاجل

لا يحل هذا الإصلاح العاجل محل أية إصلاحات عاجلة أخرى.

معلومات الملف

يحتوي إصدار اللغة الإنجليزية من هذا الإصلاح العاجل على سمات الملف (أو سمات الملف الأحدث) المسرودة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات بالتوقيت العالمي المتفق عليه (UTC). عند عرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي المتفق عليه والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في عنصر التاريخ والوقت في "لوحة التحكم".
.NET Framework 2.0، x86 الطبعة
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسي
System.data.dll2.0.50727.18132,998,27205-Feb-200804:49x86
System.data.oracleclient.dll2.0.50727.1813484,35205-Feb-200804:49x86
.NET Framework 2.0، x64 edition
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسي
System.data.dll2.0.50727.18103,113,47214-Jan-200823:36x64
System.data.dll2.0.50727.18132,998,27205-Feb-200804:49x86
System.data.oracleclient.dll2.0.50727.1810499,71214-Jan-200823:36x64
System.data.oracleclient.dll2.0.50727.1813484,35205-Feb-200804:49x86
.NET Framework 2.0، الطبعة IA 64
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسي
System.data.dll2.0.50727.18133,208,19205-Feb-200801:25IA-64
System.data.dll2.0.50727.18132,998,27205-Feb-200804:49x86
System.data.oracleclient.dll2.0.50727.1813503,80805-Feb-200801:25IA-64
System.data.oracleclient.dll2.0.50727.1813484,35205-Feb-200804:49x86

الحالة

أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "ينطبق على".

مزيد من المعلومات

عند حدوث هذه المشكلة، يتم إنشاء أحد مكدسات الاستدعاءات التالية.

مكدس الاستدعاءات 1

(System.IndexOutOfRangeException: Index was outside the bounds of the array. at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()

مكدس الاستدعاءات 2

(System.IndexOutOfRangeException: Index was outside the bounds of the array. at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()

مكدس الاستدعاءات 3

(System.IndexOutOfRangeException: Index was outside the bounds of the array. at SNINativeMethodWrapper.SNISecGenClientContext(SafeHandle pConnectionObject, Byte[] inBuff, UInt32 receivedLength, Byte[] OutBuff, UInt32& sendLength, Byte[] serverUserName) 
at System.Data.SqlClient.TdsParser.SNISSPIData(Byte[] receivedBuff, UInt32 receivedLength, Byte[] sendBuff, UInt32& sendLength)
at System.Data.SqlClient.TdsParser.TdsLogin(SqlLogin rec)
at System.Data.SqlClient.SqlInternalConnectionTds.Login(Int64 timerExpire, String newPassword)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()

مكدس الاستدعاءات 4

(System.IndexOutOfRangeException: Index was outside the bounds of the array. at SNINativeMethodWrapper.SNIOpenEx(ConsumerInfo consumerInfo, String constring, IntPtr& pConn, Boolean fInitSec, Byte[] sspiBuffer, Byte[] instanceName, Boolean fOverrideCache, Boolean fSync) 
at System.Data.SqlClient.SNIHandle..ctor(ConsumerInfo myInfo, String serverName, Boolean integratedSecurity, Byte[] serverUserName, Byte[]& instanceName, Boolean flushCache, Boolean fSync)
at System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()

خصائص

رقم الموضوع: 948176 - آخر مراجعة: 14‏/01‏/2017 - المراجعة: 1

تعليقات