2015-08-31 6 views
7

साथ एसक्यूएल सर्वर से कनेक्ट नहीं कर जब मैं एक स्थानीय एसक्यूएल सर्वर उदाहरण से कनेक्ट करने के मैं इस त्रुटि मिलती है Node.js और Tedioius इस्तेमाल करने की कोशिश:Node.js और थकाऊ

{ [ConnectionError: Failed to connect to XXXXX:1433 - connect ECONNREFUSED] 
    name: 'ConnectionError', 
    message: 'Failed to connect to XXXXX:1433 - connect ECONNREFUSED', 
    code: 'ESOCKET' } 

यहाँ मेरी कनेक्शन वस्तु है:

var config = { 
    userName: 'username', 
    password: 'password', 
    server: 'XXXXX', 

    options: { 
    database: 'databasename', 
    instancename: 'SQLEXPRESS' 
    } 
}; 

मैंने जांच की है और टीसीपी/आईपी सक्षम है और पोर्ट 1443 पर कॉन्फ़िगरेशन प्रबंधक के अनुसार प्रसारण कर रहा है। SQL सर्वर ब्राउज़र सेवा भी चल रही है, जो मैंने पढ़ा है, यदि इस प्रकार की समस्या हो सकती है तो नहीं। मैंने अपने एंटीवायरस और फ़ायरवॉल को अक्षम कर दिया है और इससे कोई मदद नहीं मिली है।

किसी भी अंतर्दृष्टि?

उत्तर

13

तो क्या मैं अनुमान लगा रहा होता है कि भले ही थकाऊ की मदद से आप 'विकल्प' यह या तो इसका इस्तेमाल नहीं करता है या उसका उपयोग नहीं कर सकते हैं के रूप में यह प्रयोग किया जा करने की जरूरत है में उदाहरण के नाम शामिल है। कुछ शोध करने के बाद, क्या हो रहा किया जाना चाहिए जब आप SQL सर्वर आवृत्ति नाम देते हैं, तो यह आपको पोर्ट 1433 से गतिशील बंदरगाह यह है कि उदाहरण के लिए उपयोग कर रहा है पर रीडायरेक्ट है। मुझे नहीं पता था कि यह एक गतिशील बंदरगाह का उपयोग कर रहा था, लेकिन यदि आपका उदाहरण पोर्ट नाम दिया गया है तो हमेशा गतिशील होगा। मुझे नहीं पता कि मैंने इसे 1433 पर प्रसारित किया था, यह मेरी गलती थी।

गतिशील बंदरगाह की जाँच करने के लिए, यहाँ देखो: इस जानकारी से

enter image description here

, मैं इस के लिए मेरे कोड बदल दिया है:

var config = { 
    userName: 'username', 
    password: 'password', 
    server: 'XXXXX', 

    options: { 
    port: 49175, 
    database: 'databasename', 
    instancename: 'SQLEXPRESS' 
    } 
}; 

सभी अब अच्छा है, उम्मीद है कि इस में किसी को मदद मिलती है।

+2

मैंने पाया कि InstanceName का पूंजीकरण महत्वपूर्ण है (एक राजधानी एन की आवश्यकता है) – christofr

+0

मैं केवल बंदरगाह और ध्यान नहीं दिया उदाहरण के नाम बदलना पड़ा।यह क्रूर है यह Sequelize या थकाऊ के किसी भी दस्तावेज में नहीं है! –

+0

इसे मेरे लिए हल किया! हालांकि पोर्ट नंबर के बाद कॉमा गायब है। –

0

आप अभी भी टीसीपी/आईपी प्रोटोकॉल सक्षम करने के बाद समस्या है, तो मैं आपको लगता है कि SQL सर्वर ब्राउज़र सेवा चल रहा है की जाँच का सुझाव देते हैं। मेरे मामले में मैंने बहुत समय बिताया जब तक मुझे एहसास हुआ कि यह नहीं चल रहा था।

मेरे लिए यह विन्यास रन ठीक:

var config = { 
    user: 'user', 
    password: 'userPwd', 
    server: 'localhost', 
    database: 'myDatabase', 
    options: { 
     truestedConnection: true, 
     instanceName: 'SQLEXPRESS' 
    } 
1

आप अभी भी यह त्रुटि आई हैं,

"... 'सर्वर से कनेक्ट करने में विफल: 1433 - ECONNREFUSED सर्वर आईपी कनेक्ट: 1433' , कोड: 'ESOCKET'} "

और आप देख लिया है सभी निम्नलिखित:

  1. टीसीपी/आईपी
  2. खुला पोर्ट 1433
  3. कॉन्फ़िग सही ढंग से सेटअप (डेटाबेस, सर्वर, उपयोगकर्ता नाम और पासवर्ड}
  4. कोई डायनामिक बंदरगाहों

कॉन्फ़िगर किया गया अपने एसक्यूएल सर्वर संस्करण की जांच सक्षम करें। मेरे मामले में, मुझे पता चला कि मैं एसक्यूएल 2012 तक नहीं एसक्यूएल सर्वर 2016 में एक ही कोड के साथ जुड़ सकता है, लेकिन। ऐसा लगता है कि SQL Server 2016 अभी तक कठिन ड्राइवर द्वारा समर्थित नहीं है।

+0

मुझे खुशी है कि मैं अभी तक एसक्यूएल सर्वर 2016 का उपयोग नहीं कर रहा हूं ... मैं एसक्यूएल सर्वर 2014 पर हूं और किसी कारण से मेरा टीसीपी/आईपी एक कारण एसक्यूएल सर्वर 2014 स्थापित नहीं किया गया था कि कुछ भी कनेक्ट नहीं हो रहा था। विजुअल स्टूडियो ado.net विज़ार्ड बस tcp/ip अक्षम के साथ ठीक जुड़ा हुआ है –

संबंधित मुद्दे