सर्वर के साथ एक कनेक्शन सफलतापूर्वक स्थापित किया गया था, लेकिन फिर प्री-लॉगिन हैंडशेक के दौरान एक त्रुटि हुई


111

जब मैं स्थानीय पर्यावरण से उत्पादन DB को जोड़ने का प्रयास कर रहा हूं तो मुझे निम्न त्रुटि हो रही है।

मैं पहले उत्पादन DB को जोड़ने में सक्षम था, लेकिन अचानक मुझे निम्नलिखित त्रुटि मिल रही है, कोई विचार?

सर्वर के साथ एक कनेक्शन सफलतापूर्वक स्थापित किया गया था, लेकिन फिर प्री-लॉगिन हैंडशेक के दौरान एक त्रुटि हुई। (प्रदाता: टीसीपी प्रदाता, त्रुटि: 0 - संभाल अमान्य है।)

मैं स्थानीय पीसी में asp.net वेबसाइट चलाने की कोशिश कर रहा था, जिसमें उत्पादन DB का कनेक्शन स्ट्रिंग है, स्थानीय वातावरण में मुझे मिल रही त्रुटि के लिए स्टैक ट्रेस निम्नलिखित है।

>    at MyWebsiteDAL.clsForumQuestion.SelectAll(Int32 CurrentPageIndex, Int32 PageSize) in D:\EDrive\My WebSites\MyWebsite\MyWebsite\MyWebsiteDAL\clsForumQuestion.cs:line 821
       at CodeConnect.Default.Page_Load(Object sender, EventArgs e) in D:\EDrive\My WebSites\MyWebsite\MyWebsite\MyWebsite\Default.aspx.cs:line 100
       at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
       at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
       at System.Web.UI.Control.OnLoad(EventArgs e)
       at System.Web.UI.Control.LoadRecursive()
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

किसी भी विचार यहाँ क्या गलत हो सकता है?


आप किस डीबीएमएस से जुड़ रहे हैं?
विल

1
क्या आप SSMS के साथ स्थानीय पीसी से कनेक्ट करने में सक्षम हैं? यह सवाल serverfault.com पर बेहतर होगा
एक

हां मैं कनेक्ट करने में सक्षम हूं। क्या मैं पर्यवेक्षक अचानक था कि काम करना शुरू कर देता है।
जोर्डन विलिस

2
मेरा मानना ​​है कि यह सवाल StackOverflow (और नहीं ServerFault) पर है क्योंकि अंतर्निहित समस्या के कारण Visual Studio में Asp.net Cassini था। सभी मौजूदा कैसिनी (WebDev.WebServer.exe) उदाहरणों को रोकना और मेरे लिए काम करने वाले ऐप को फिर से चलाना।
माइकेटेवी

@ माइकटेवी मुझे एक साधारण WinForm एप्लिकेशन के साथ एक ही समस्या मिली। कोई कैसिनी शामिल नहीं।
सिल्वेन रोड्रिग्यू

जवाबों:


154

उपाय

1) अपने VS.Net समाधान को साफ करें

2) परियोजना का पुनर्निर्माण।

3) IIS रीसेट करें

4) प्रोजेक्ट को फिर से चलाएँ।

मूल रूप से मेरी समस्या हल हो गई है, लेकिन मेरे मामले में मुझे यह त्रुटि नहीं मिल रही थी और अचानक मेरा स्थानीय वातावरण मुझे त्रुटि से ऊपर उठना शुरू कर देता है, इसलिए हो सकता है कि मेरे लिए यह मुश्किल काम हो।


25
मुझे भी इसी तरह की समस्या थी (लोकलहोस्ट भी)। मुख्य बिंदु लगता है कि शायद बिंदु 3 हो गया है। मुझे लगता है कि वीएस वेबस्वर (कैसिनी) के उदाहरण को मारने और F5 के पुनर्निर्माण और हिट करने की आवश्यकता थी। यह मेरे लिए हल है। आपके उत्तर के लिए धन्यवाद। (आपको इसे समाधान के रूप में चिह्नित करने पर विचार करना चाहिए)
अमादियेरे

1
इस समाधान ने भी मेरे लिए काम किया। मैं भी वीआई वेब सर्वर (कैसिनी) का उपयोग कर रहा था, क्योंकि आईआईएस के विपरीत केवल एमाडियर के समान था।
साइमन लोमैक्स

7
यह फिक्स की तुलना में वर्कअराउंड की तरह अधिक लगता है। मुझे आश्चर्य है कि क्या वास्तविक समस्या को कनेक्शन पूलिंग के साथ करना है।
जुर्मेल

2
आज फिर यही था। आपको केवल एक कमांड कमांड प्रॉम्प्ट से आईरिससेट चलाने की आवश्यकता है।
इयान केम्प

6
मूल कारण विश्लेषण के लिए कुछ संभावित दिशा-निर्देश प्रदान करके इस उत्तर को बेहतर बनाया जा सकता है। वर्क-अराउंड का मान है, लेकिन यह जानना अधिक उपयोगी है कि ऐसा क्यों होता है और वर्क-अराउंड क्यों काम करता है।
laindir

15

- अपना काम सहेजें,
- विज़ुअल स्टूडियो को बंद करें, फिर
- अपने प्रोजेक्ट को फिर से खोलें

हमेशा मेरे लिए काम करता है।


29
यह मेरे लिए भी काम करता है, लेकिन मुझे अक्सर कॉफी बनाने में लगता है जबकि यह फिर से शुरू होने से सभी फर्क पड़ता है।
ईडी -209

मुझे एक समान समस्या थी, लेकिन इसके बजाय नोड सर्वर के साथ। मैं ubuntu VM अतिथि पर एक नोड सर्वर चला रहा था और विंडोज 10 वीएम होस्ट से एक्सेस कर रहा था। वीएम को रोकना और सहेजना, फिर विंडोज 10 होस्ट को रीसेट करना, फिर वीएम बैक अप काम करना शुरू किया, इसलिए मैंने माना कि यह विंडोज के साथ एक समस्या थी, स्थानीय सर्वर नहीं। लेकिन फिर, मैंने अभी स्थानीय नोड सर्वर को रीसेट करने की कोशिश की, और उसने इसे ठीक भी कर दिया ... तो कौन जानता है, हा
रयानक्यूई

10

निम्नलिखित कमांड चलाना मेरे लिए काम कर रहा है:

netsh Winsock reset

Https://serverfault.com/a/487139/250527 पर देखा गया


2
इससे मेरी समस्या हल हो गई। मैं नेटवर्क लंच का कारण बनता हूं क्योंकि मैंने उसे बस के नीचे फेंक दिया था।
greg

FYI करें, इसके लिए resetसिस्टम रीस्टार्ट की जरूरत है।
मारक 22'18

9

कुछ बहुत स्मृति-महंगी प्रक्रियाओं को चलाने पर मुझे यह त्रुटि आई। जब सिस्टम ने मेमोरी को कम चलाना शुरू किया, तो मैंने इस तरह की त्रुटि को नोटिस करना शुरू कर दिया। रैम का बेहतर उपयोग करने के लिए मुझे एल्गोरिथ्म को बदलना पड़ा।

इस बात पर ध्यान दिया जाना चाहिए कि कुछ सूत्र इस अपवाद को फेंक देते हैं, वहीं कुछ अन्य ने फेंक दिया:

System.Data.SqlClient.SqlException (0x80131904): कनेक्शन समय समाप्त हो गया। प्री-लॉगिन हैंडशेक पावती का उपभोग करने का प्रयास करते हुए समयावधि समाप्त हो गई। ऐसा इसलिए हो सकता है क्योंकि प्री-लॉगिन हैंडशेक विफल हो गया था या सर्वर समय पर वापस प्रतिक्रिया देने में असमर्थ था। इस सर्वर से जुड़ने का प्रयास करते समय बिताई गई अवधि थी - [पूर्व-लॉगिन] आरंभ = ४३६०६; हाथ मिलाना = 560; ---> System.ComponentModel.Win32Exception (0x80004005): प्रतीक्षा कार्रवाई समय समाप्त हो गई

सिस्टम बदलने के बाद दोनों समस्याएं गायब हो गईं ताकि कम रैम का उपयोग करके इसे चलाया जा सके।


1
की पुष्टि। मैंने अपने लैपटॉप पर समानांतर .foreach का उपयोग करके C # से SQL सर्वर पर गहन प्रसंस्करण चलाया। मेरी मेमोरी का उपयोग अधिकतम था। इससे पहले कि मैं इस त्रुटि को प्राप्त करूँ, लगभग 15 मिनट तक कंप्यूटर मुश्किल से प्रयोग करने योग्य था।
लेगेंडेरीकॉपी कोडर

8

मुझे एक ही समस्या थी, मैं डेटाबेस में सत्र डेटा संग्रहीत कर रहा था, कनेक्शन स्ट्रिंग में Encrypt = True था, जो मुझे लगता है कि sql क्लाइंट को सुरक्षित (SSL) मोड में सर्वर से कनेक्ट करने के लिए कहा था, इससे मदद मिली!


1
यदि आप Windows Azure SQL डेटाबेस का उपयोग करने जा रहे हैं तो यह ध्वज आपके कनेक्शन स्ट्रिंग में जोड़ा जाएगा। मुझे पूरा यकीन है कि इसका इस्तेमाल अन्य Paa / IaaS / Server प्रदाताओं के लिए भी किया जाएगा।
पार्थ शाह

AzureSQL को सही सच्चे ब्लॉगों की आवश्यकता होती है। blogs.msdn.microsoft.com/buckwoody/2012/03/06/…
जेसन मार्ताज्या

5

आप कुछ चीजों की जांच करना चाहते हैं:

  1. आप उत्पादन सर्वर दूरस्थ कनेक्शन की अनुमति देता है। (संभव है कि किसी ने इसे बंद कर दिया, खासकर यदि आपके पास डीबीए है)

  2. अपने कनेक्शन स्ट्रिंग की जाँच करें। कभी-कभी यदि आप एक आईपी पते या सर्वर नाम का उपयोग कर रहे हैं तो यह इस त्रुटि का कारण होगा। दोनों की कोशिश करो।


4

मेरे मामले में यह था:

Persist Security Info=True;

मेरे कनेक्शन स्ट्रिंग में जिसे निकालने की आवश्यकता है। एक बार जब मैंने किया कि मेरे पास अब मुद्दे नहीं थे।


4

मेरे मामले में यह त्रुटि डॉट नेट कोर और के साथ हुई Microsoft.Data.SqlClient;TrustServerCertificate=trueकनेक्शन स्ट्रिंग के अंत में जोड़ने का संकल्प था ।


धन्यवाद, आपने मुझे बचा लिया :)
DiPix

यह स्वयं-हस्ताक्षरित प्रमाण पत्र का उपयोग करते समय किया गया था
ज्योफ गंटर

3

जैसा कि रिकार्डो के उत्तर में वर्णित है ,

netsh Winsock reset

मेरे लिए काम किया है,

PS यदि आपके पास इंटरनेट डाउनलोड प्रबंधक या ऐसे प्रोग्राम हैं जो आपको आईपी सेटिंग बदलते हैं तो इस कमांड को चलाने के बाद जब आप अपने कंप्यूटर को रिबूट करते हैं तो आईडीएम सेटिंग बदलने के लिए कहेगा, इस मामले में सेट नंबर और फिर अपना एप्लिकेशन चलाएं यह सही ढंग से काम करेगा।

आशा है कि यह


3

मेरे पास एक समान मुद्दा था जहां मैं एक डेटाबेस से कनेक्ट नहीं कर सका और यहां सिफारिशों की कोशिश की।

दिन के अंत में यह वही है जो मेरे लिए काम कर रहा है:

SQL सर्वर क्लाइंट कंप्यूटर पर TCP / IP और / या नामांकित पाइप प्रोटोकॉल को सक्षम करने के लिए SQL सर्वर कॉन्फ़िगरेशन प्रबंधक उपकरण का उपयोग किया।

  1. प्रारंभ पर क्लिक करें, सभी कार्यक्रमों को इंगित करें, और SQL सर्वर कॉन्फ़िगरेशन प्रबंधक पर क्लिक करें।
  2. SQL सर्वर नेटवर्क कॉन्फ़िगरेशन का विस्तार करने के लिए क्लिक करें और फिर क्लाइंट प्रोटोकॉल पर क्लिक करें।
  3. TCP / IP प्रोटोकॉल पर राइट-क्लिक करें और फिर सक्षम करें पर क्लिक करें।
  4. नाम पाइप्स प्रोटोकॉल पर राइट-क्लिक करें और फिर सक्षम करें पर क्लिक करें।
  5. यदि ऐसा करने के लिए कहा जाए तो SQL सर्वर सेवा को पुनरारंभ करें।

मुझे अभी भी यकीन नहीं है कि यह क्यों या कब अक्षम किया गया था।


2

मेरे लिए समाधान ज़ोंबी IIS एक्सप्रेस कार्यकर्ता प्रक्रियाओं को मारना है।

जैसे टास्क मैनेजर और एंड टास्क में खोजें।

यहां छवि विवरण दर्ज करें


1

मुझे यही समस्या थी और सुझाए गए सुधारों के साथ कोई भाग्य नहीं था। मैं तब इस लेख पर आया था और सेंधरी के एलएसपी को अवरुद्ध करने वाले एक कार्यक्रम के बारे में मिरर की टिप्पणी को देखा। नहीं पता कि यह मेरे कंप्यूटर पर कैसे मिला, लेकिन यह वहाँ था और इसे हटाकर समस्या को ठीक कर दिया।

यदि लेख आपके काम की जाँच नहीं करता है और यदि आप देखते हैं तो Sendori की स्थापना रद्द करें।


1

मैंने SQL सर्वर (शेयरपॉइंट) सेवा को फिर से शुरू किया और इसने समस्या हल कर दी।


1

मैं कोड आधार या सर्वर के लिए कोई chnges के साथ सटीक एक ही समस्या हो रही थी। यह पता चला है कि DB सर्वर 100% CPU पर चल रहा था और SQL सर्वर किसी भी CPU समय से भूखा हो रहा था, जिससे समय समाप्त हो गया।


1

कई दिनों से वही समस्या थी। मुझे इस त्रुटि को दूर करने के लिए अपने मूल प्रोजेक्ट में स्पष्ट रूप से TLS1.2 समर्थन जोड़ना था और यह ठीक काम किया। (ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;)

अधिक जानकारी के लिए नीचे दिए गए लिंक देखें (लेखक उस्मान खुर्शीद का धन्यवाद) https://www.itechtics.com/connection-successfully-established-error-occured-pre-login-handshake/


1

सबसे ऊपर की कोशिश की और कुछ भी काम नहीं किया। फिर वीपीएन सॉफ्टवेयर (नॉर्डवीपीएन) को बंद कर दिया और सब कुछ ठीक हो गया।


1

मैंने पिछले महीने में कई समाधानों की कोशिश की, किसी ने काम नहीं किया। समस्या यह है कि प्रोडक्शन डीबी एक वीपीएन के भीतर है और किसी तरह आईएसपी प्रदाता को लगता है कि एचटीटीपी कनेक्शन सुरक्षित नहीं है। हालाँकि, मैं SSMS (TCP का उपयोग करता है) से एक ही उत्पादन DB से कनेक्ट करने में सक्षम था।

मेरा समाधान: मोबाइल फोन को हॉटस्पॉट के रूप में उपयोग करें और मेरे कार्यालय / घर वाई-फाई के बजाय मोबाइल डेटा का उपयोग करें।


1
मेरे मामले में भी ऐसा ही है। धन्यवाद!
डेविड लो

0

एक ही मुद्दा था, इसका कारण बीसीक्रिप्ट .नेट लाइब्रेरी था, जिसे .NET 2.0 फ्रेमवर्क का उपयोग करके संकलित किया गया था, जबकि पूरी परियोजना, जो इसका उपयोग करती थी, .NET 4.0 के साथ संकलन कर रही थी। यदि लक्षण समान हैं, तो बीसीक्रिप्ट स्रोत कोड डाउनलोड करें और इसे .NET 4.0 के भीतर रिलीज कॉन्फ़िगरेशन में फिर से बनाएं । के बाद मैं इसे "पूर्व लॉगिन हाथ मिलाना" ठीक काम किया है। आशा है कि यह किसी की मदद करता है।


0

मैंने इस त्रुटि का अनुभव किया और आप लोगों के सभी सुझाव यहां दिए, लेकिन मेरी त्रुटि का कोई प्रभाव नहीं पड़ा।

मैंने अपराधी को पकड़ लिया: यदि आप *.iniअपने सिस्टम के लिए फाइल का उपयोग कर रहे हैं , तो आप यह जांचना चाहें कि वहां पर किस सर्वर का नाम इनपुट था और यह सुनिश्चित करें कि यह आपके web.config कनेक्शन स्ट्रिंग के समान है।


0

यहाँ एक ही समस्या है और यहाँ सूचीबद्ध कोई उत्तर काम नहीं किया, और न ही कोई समाधान मुझे ऑनलाइन मिल सका। Windows 10 वीं वर्षगांठ का अद्यतन मेरे देव पीसी पर लागू होने के तुरंत बाद शुरू हुआ और केवल मेरे पुराने SQL सर्वर 2005 आवृत्ति पर असर पड़ा। मैं अपने वेब एप्लिकेशन या यहां तक ​​कि Sql Management Studio का उपयोग करके इंस्टेंस से कनेक्ट करने में सक्षम नहीं था।

जो इसके लायक है, उसने यही मेरे लिए हल किया है:

  1. SQL सर्वर कॉन्फ़िगरेशन प्रबंधक खोलें (SQL सर्वर आपके द्वारा चलाए जा रहे संस्करण पर निर्भर करता है):

    • C: \ Windows \ SysWOW64 \ SQLServerManager.msc
    • C: \ Windows \ SysWOW64 \ SQLServerManager10.msc OR
    • C: \ Windows \ SysWOW64 \ SQLServerManager12.msc OR
    • आदि
  2. SQL सर्वर सेवाएँ चुनें

  3. परेशान सेवा का पता लगाएँ और गुण देखें

    • उदाहरण के लिए मेरे मामले में SQL सर्वर (SQL2005)
  4. लॉग ऑन टैब में, "बिल्ट-इन अकाउंट" को "नेटवर्क सेवा" में बदलें

जो लगभग इस यादृच्छिक समाधान ने कहा है: http://www.kutayzorlu.com/operating-systems/linux-unix-redhat-debian-ubuntu-opensuse-centos/general-server-administrating-error-fixed-a-connection -was-सफलतापूर्वक स्थापित-साथ-सर्वर बल्कि तत्कालीन एक-त्रुटि उत्पन्न हुई-दौरान-पूर्व प्रवेश-हाथ मिलाना-12405.html

मैंने बिना किसी कारण के नेटवर्क सेवा को चुना। मेरा पहले से ही स्थानीय सिस्टम का उपयोग करने के लिए कॉन्फ़िगर किया गया था। यह सुरक्षा मेरे लिए कोई मायने नहीं रखती है क्योंकि यह केवल मेरे स्थानीय विकास मशीन पर समस्याग्रस्त थी, केवल स्थानीय रूप से एक्सेस की गई थी। मैं सलाह नहीं दे सकता कि यह क्यों काम करता है, लेकिन यह किया।


0

मेरे मामले में, मुझे त्रुटि मिल रही थी जब मैं एक दूरस्थ डेटाबेस का उपयोग करना चाहता था। हालाँकि, मैंने इसे SQL सर्वर ब्राउज़र सेवा शुरू करके हल किया है।

यहां छवि विवरण दर्ज करें


0

यदि आप किसी पुराने SQL सर्वर से जुड़ रहे हैं:

System.Data से स्विच करें। SqlClient.SqlConnection से System.Data को। OleDb.OleDbConnection

एक OleDb कनेक्शन स्ट्रिंग का उपयोग करें:

<connectionStrings>
<add name="Northwind" connectionString="Provider=SQLOLEDB.1; Data Source=MyServer; Initial Catalog=Northwind;  Persist Security Info=True; User ID=abc; Password=xyz;" providerName="System.Data.OleDb" />
</connectionStrings>

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.