2014-08-29 9 views
23

Próbuję połączyć się z MSSQL 2012 przy użyciu NodeJS z interfejsem połączenia mssql.Node.js MSSQL tedius ConnectionError: Nie można połączyć się z localhost: 1433 - podłącz ECONNREFUSED

podczas próby połączenia pojawia się następujący błąd:

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

Wszelkie pomysły jak to naprawić?

Odpowiedz

54

Rozwiązaniem jest włączenie połączeń TCP, które domyślnie są wyłączone.

enter image description here

+1

Dziękujemy! To dokładnie rozwiązało mój problem. –

+2

Szukałem tego przez prawie cały dzień! Dziękujemy za oszczędność czasu :) – Fka

+1

+1 za zrzut ekranu. Myślałem, że mam to włączone, ponieważ widziałem w SSMS zdalne połączenia, ale tak nie było. –

13

Moja sprawa nie była dokładnie taka sama jak Matt, ale jego screenshot wystarczyło, aby pamiętać co mi brakowało.

enter image description here

Jak to powiedział here, gdy używasz SQL Server Instance Name się z nim połączyć, trzeba mieć uruchomiony SQL Server Browser.

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

Najlepszą praktyką jest, aby najpierw sprawdzić połączenie z serwerem SQL przy użyciu analizatora zapytań (SQL Management Studio (Windows) lub SQLPro dla MSSQL (Mac)) przy użyciu tego samego protokołu, portu i poświadczeń jak chcesz używać za pośrednictwem aplikacji.

W Management Studio formatem jest serwer, port (np. 192.168.1.10, 1433); i prawdopodobnie będziesz używać uwierzytelniania SQL Server zamiast uwierzytelniania systemu Windows.


kroki, aby skonfigurować SQL Server:

Instalacja z mieszanymi uwierzytelniania, jeśli masz zamiar używać SQL Server Uwierzytelnianie.

konfiguracja SQL Server nasłuchuje na TCP na stałym numerem portu:

  • konfiguracji SQL Manager SQL Server Network Configuration
    • Protokoły {Instancji}
      • TCP/IP - AKTYWNY (dwukrotne kliknięcie)
      • Adres IP (na wszystkich wymaganych interfejsach)
        • Dynamiczne porty TCP = BLANK! (Nie zero)
        • Port TCP - 1433 (lub pożądane portu)
+0

Działa dla mnie! Dzięki –

0

nie mogę połączyć się z 'localhost' chociaż używam 'localhost' w SQL Management Studio i inne aplikacje. Gdy użyłem nazwy komputera (adresu sieciowego), zadziałało!

4

Jeśli po włączeniu połączenia TCP i nadal twoja konfiguracja nie działa.Oto moja własna konfiguracja.

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