2014-08-29 11 views
23

Ich versuche eine Verbindung zu MSSQL 2012 mit NodeJS mit der mssql Verbindungsschnittstelle herzustellen.Node.js MSSQL tedius ConnectionError: Fehler beim Verbinden mit localhost: 1433 - connect ECONNREFUSED

Wenn zu verbinden versucht, ich die folgende Fehlermeldung erhalten:

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

Alle Ideen, wie dieses Problem beheben?

Antwort

54

Die Lösung besteht darin, TCP-Verbindungen zu aktivieren, die standardmäßig deaktiviert sind.

enter image description here

+1

Vielen Dank! Das hat mein Problem genau gelöst. –

+2

Ich suchte das fast den ganzen Tag! Vielen Dank für das Speichern von Zeit :) – Fka

+1

+1 für den Screenshot. Ich dachte, ich hätte es aktiviert, weil ich sah, dass Remote-Verbindungen in SSMS aktiviert waren, aber das war es nicht. –

13

Mein Fall war nicht genau das gleiche wie Matts, aber sein Screenshot war genug, um mich zu erinnern, was fehlte.

enter image description here

Wie es heißt here, wenn Sie den SQL Server-Instanznamen verwenden, um sie zu verbinden, müssen Sie SQL Server-Browser laufen haben. mit einem Query Analyzer (SQL Management Studio (Windows) oder SQLPro für MSSQL (Mac)) mit dem gleichen Protokoll, Port und Anmeldeinformationen

options.instanceName The instance name to connect to. The SQL Server Browser service must be running on the database server, and UDP port 1444 on the database server must be reachable. (no default) Mutually exclusive with options.port.

2

Best Practice ist es, zunächst die Verbindung zum SQL-Server zu überprüfen, wie Sie möchten Verwenden Sie über Ihre Anwendung.

In Management Studio ist das Format Server, Port (z. B. 192.168.1.10,1433); und Sie werden wahrscheinlich SQL Server-Authentifizierung anstelle von Windows-Authentifizierung verwenden.


Schritte, um den SQL Server zu konfigurieren:

Installieren mit gemischten Authentifizierungs, wenn Sie beabsichtigen, SQL Server-Authentifizierung zu verwenden.

Setup-SQL-Server auf TCP auf einer festen Portnummer zu hören:

  • SQL Configuration Manager SQL Server-Netzwerkkonfiguration
    • Protokolle für {Instanz}
      • TCP/IP - Aktiviert (Doppelklick)
      • IP-Adresse (an allen gewünschten Schnittstellen)
        • Dynamische TCP-Ports = BLANK! (Nicht Null)
        • TCP-Port - 1433 (oder gewünscht Port)
+0

Funktioniert für mich! Vielen Dank –

0

ich nicht mit 'localhost' anschließen könnte, obwohl ich 'localhost' in SQL Management Studio und andere Anwendungen. Als ich Computername (Netzwerkadresse) verwendet habe, hat es funktioniert!

4

Wenn nach dem Aktivieren der TCP-Verbindung und immer noch Ihre Konfiguration nicht funktioniert.Hier ist meine eigene Konfiguration.

var config = { 
    "user": 'admin', 
    "password": 'password', 
    "server": 'ALBERT-PC', 
    "database": 'database_name', 
    "port": '61427', 
    "dialect": "mssql", 
    "dialectOptions": { 
     "instanceName": "SQLEXPRESS" 
    } 
};