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

ملاحظة

القيم الافتراضية لهذه المعلمات التي يمكن أن تحدد من خلال التعليمات البرمجية وسلسلة الاتصال وأساليب أخرى كما يلي: مهلة الاتصال – 15 ثانية استعلام أو مهلة الأمر – 30 ثانية

System.Data.SqlClient.SqlException: انتهت مهلة. انقضت فترة المهلة قبل إكمال العملية أو الملقم لا يستجيب.  في System.Data.SqlClient.SqlInternalConnection.OnError (استثناء SqlException، بريككونيكشن منطقية)  في System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (تدسبارسيرستاتيوبجيكت ستاتيوبج)  في System.Data.SqlClient.TdsParserStateObject.ReadSniError (ستاتيوبج تدسبارسيرستاتيوبجيكت، خطأ UInt32)  في System.Data.SqlClient.TdsParserStateObject.ReadSni (ل asyncResult دباسينكريسولت، ستاتيوبج تدسبارسيرستاتيوبجيكت)  في System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()  في System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake (تشفير منطقية، تروستسيرفيرسيرت منطقية، منطقية & مارسكابابل)  في System.Data.SqlClient.TdsParser.Connect (serverInfo ServerInfo، كونهاندلير سقلينتيرنالكونيكتيونتدس، إيجنوريسنيوبينتيميوت المنطقية، تيميريكسبيري Int64، تشفير منطقية، تروستسيرفيرسيرت المنطقية، إينتيجراتيدسيكوريتي المنطقية، سقلكونيكتيونوونينجوبجيكت)  في System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin (سيرفيرينفوسيرفيرينفو، newPassword سلسلة، إيجنوريسنيوبينتيميوت المنطقية Int64 تيميريكسبيري، أوونينجوبجيكت SqlConnection)  في System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover (مضيف السلسلة، سلسلة newPassword، ريديريكتيدوسيرينستانسي المنطقية، أوونينجوبجيكت SqlConnection، كونيكتيونوبشنز سقلكونيكتيونسترينج، تيميرستارت Int64)  في System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist (أوونينجوبجيكت SqlConnection، كونيكتيونوبشنز سقلكونيكتيونسترينج، newPassword سلسلة، ريديريكتيدوسيرينستانسي منطقية)  في System.Data.SqlClient.SqlInternalConnectionTds... المنشئ (هوية دبكونيكتيونبوليدينتيتي، كونيكتيونوبشنز سقلكونيكتيونسترينج، بروفيديرينفو الكائن، سلسلة newPassword، أوونينجوبجيكت SqlConnection، ريديريكتيدوسيرينستانسي منطقية)  في System.Data.SqlClient.SqlConnectionFactory.CreateConnection (خيارات دبكونيكتيونوبشنز بولجروبروفيديرينفو الكائن، تجمع دبكونيكتيونبول، أوونينجكونيكشن دبكونيكشن)  في System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (أوونينجكونيكشن دبكونيكشن، تجمع دبكونيكتيونبول، وخيارات دبكونيكتيونوبشنز) في System.Data.ProviderBase.DbConnectionPool.CreateObject (دبكونيكشن أوونينجوبجيكت) في System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (دبكونيكشن أوونينجوبجيكت)  في System.Data.ProviderBase.DbConnectionPool.GetConnection (دبكونيكشن أوونينجوبجيكت)  في System.Data.ProviderBase.DbConnectionFactory.GetConnection (دبكونيكشن أوونينجكونيكشن)  في System.Data.ProviderBase.DbConnectionClosed.OpenConnection (أووتيركونيكشن دبكونيكشن، كونيكتيونفاكتوري دبكونيكتيونفاكتوري)  في System.Data.SqlClient.SqlConnection.Open() <-يخبرنا SqlConnection جنبا إلى جنب مع فتح أننا نحاول فتح اتصال. لذلك، هذا لا يتعلق باستعلام.

System.Data.SqlClient.SqlException: انتهت مهلة. انقضت فترة المهلة قبل إكمال العملية أو الملقم لا يستجيب.  في System.Data.SqlClient.SqlConnection.OnError (استثناء SqlException، بريككونيكشن منطقية)  في System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (تدسبارسيرستاتيوبجيكت ستاتيوبج)  في System.Data.SqlClient.TdsParser.Run (رونبيهافيور رونبيهافيور، كمداندلير SqlCommand، بيانات SqlDataReader، بولككوبيهاندلير بولككوبيسيمبليريسولتسيت، ستاتيوبج تدسبارسيرستاتيوبجيكت)  في System.Data.SqlClient.SqlDataReader.ConsumeMetaData()  في System.Data.SqlClient.SqlDataReader.get_MetaData()  في System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds، رونبيهافيور رونبيهافيور، سلسلة ريسيتوبتيونسترينج) في System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (كمدبيهافيور كوماندبيهافيور، رونبيهافيور رونبيهافيور، ريتورنستريم منطقية، منطقية المتزامن)  في System.Data.SqlClient.SqlCommand.RunExecuteReader (كمدبيهافيور كوماندبيهافيور، رونبيهافيور رونبيهافيور، ريتورنستريم المنطقية، الأسلوب سلسلة، نتيجة دباسينكريسولت)  في System.Data.SqlClient.SqlCommand.RunExecuteReader (كمدبيهافيور كوماندبيهافيور، رونبيهافيور رونبيهافيور، ريتورنستريام المنطقية، الأسلوب سلسلة)  في System.Data.SqlClient.SqlCommand.ExecuteScalar() <-يستخدم SqlCommand للعمل مع استعلام، لا اتصال. يتم استخدام ExecuteScalar بالفعل تنفيذ استعلام. قد ترى أيضا عناصر أخرى مثل ExecuteReader أو ExecuteNonQuery على سبيل المثال.

دقة الخطوات:

قد يكون هذه المسائل البيئة أو SQL Server المتصلة. على سبيل المثال، يمكن أن يكون لديك شبكة اتصال بطيء أو مشكلة الأداء الاستعلام. لا توجد أية قواعد جامدة وسريعة بما يمكن عمله هنا، وقد يلزم مزيد من التحقيقات بشأن ما يمكن أن يسبب هذه المشكلة. زيادة "مهلة الاستعلام" أكثر شيوعاً من زيادة "مهلة الاتصال". وهذا لأن عند محاولة الاتصال بمصدر بيانات، الاتصال عادة ما يحدث بسرعة كبيرة (عادة في غضون فترة قليلة ميلي ثانية).

النوع

يمكنك محاولة

مهلة الاتصال

  1. زيادة كونيكتيونتيموت في التطبيق الخاص بك.

  2. تحقق إذا تم حظر المنفذ المستخدمة من قبل SQL على شبكة الاتصال باستخدام أداة مثل الأداة Portqry.  حدد الخيار "" استخدام بورتقريي "أداة مع SQL Server" في الجزء السفلي للحصول على إرشادات حول كيفية استخدامها.

مهلة الأمر

  1. زيادة قيمة CommandTimeout في التطبيق الخاص بك وأيضا ضبط الاستعلامات التي يتم الحصول على تنفيذها في الخلفية.

لمزيد من تلميحات واقتراحات التحقق: استكشاف الأخطاء وإصلاحها: "انتهت مهلة".

هل هذا إلى حل المشكلة؟

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Microsoft Insider

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة الترجمة؟
ما الذي أثّر في تجربتك؟

نشكرك على ملاحظاتك!

×