Tedious: Verbindung mit lokalem sqlexpress fehlgeschlagen - Verbindung im Management Studio möglich

Erstellt am 30. Nov. 2017  ·  4Kommentare  ·  Quelle: tediousjs/tedious

Ich hatte dies vor einer Weile, aber das Aktivieren von TCP / IP schien es zu beheben, aber jetzt kann ich keine Verbindung mehr herstellen und ich kann nicht herausfinden, warum. TCP scheint im Konfigurationsmanager aktiviert zu sein. Bitte mache ich etwas falsch?

Als Feature-Request wäre ein besseres Feedback gut, wenn wir dies falsch machen oder wenn möglich mühsam dieselbe Logik verwenden, um eine Verbindung wie das SQL-Server Management Studio herzustellen.

Dies ist mit SQL-Server Express 2008r2, [email protected]

var Connection = require('tedious').Connection;
var config = {
  userName: 'myuser',
  password: 'password',
  server: 'localhost',
  options: {
      database: 'testdb',
      instanceName: 'sqlexpress'
  }
}
var connection = new Connection(config);
connection.on('connect', function(err) {
  if (err) {
    console.log(err);
  } else {
    console.log('Connected');
  }
});
{ ConnectionError: Failed to connect to localhost:undefined in 15000ms
    at ConnectionError (C:\work\sqltest\node_modules\tedious\lib\errors.js:12:12)
    at Connection.connectTimeout (C:\work\sqltest\node_modules\tedious\lib\connection.js:789:28)
    at ontimeout (timers.js:475:11)
    at tryOnTimeout (timers.js:310:5)
    at Timer.listOnTimeout (timers.js:270:5)
  message: 'Failed to connect to localhost:undefined in 15000ms',
  code: 'ETIMEOUT' }

image

^ das funktioniert gut

Hilfreichster Kommentar

Vielen Dank - es war nur der SQL Server Browser-Dienst wurde nicht gestartet. Ich denke, Management Studio muss beim Herstellen einer Verbindung zu localhost etwas zaubern.

Alle 4 Kommentare

options.instanceName
Der Instanzname, zu dem eine Verbindung hergestellt werden soll. Der SQL Server-Browserdienst muss auf dem Datenbankserver ausgeführt werden und der UDP-Port 1444 auf dem Datenbankserver muss erreichbar sein.

@spacem da Sie options.instanceName , können Sie die obigen Bedingungen überprüfen? Wenn diese nicht zufrieden sind, versuchen Sie es stattdessen mit options.port .

Failed to connect ist ein allgemeiner Fehler, Sie können fast ähnliche Meldungen auch in anderen Datenbanktreibern bemerken, wenn Instanz oder Port falsch sind. Fehlermeldungen mit weiteren nützlichen Details sind erst nach erfolgreicher Verbindung verfügbar, da der Treiber vorher nicht viele Details hat 😅

Vielen Dank - es war nur der SQL Server Browser-Dienst wurde nicht gestartet. Ich denke, Management Studio muss beim Herstellen einer Verbindung zu localhost etwas zaubern.

Tedious Connect sucht im Grunde nach dem SQL Server-Browser- und SQL Server-Agent-Modus, um mit TCP aktiviert für die Protokolle aktiviert zu sein.

Wenn also einer der Dienste oder Ports deaktiviert ist, wird eine Zeitüberschreitungsausnahme angefordert

Ich habe die Anweisungen zu dieser SO-Antwort befolgt und es hat für mich funktioniert:

  • Aktivieren und starten Sie den SQL Server-Browser
  • Aktivieren Sie das TCP/IP Protokoll für SQLEXPRESS

    • Sie können den SQL Server-Konfigurations-Manager mit einem der auf dieser Seite aufgeführten Befehle ausführen.

      Screenshot

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

malarcherc picture malarcherc  ·  9Kommentare

David-Engel picture David-Engel  ·  5Kommentare

tvrprasad picture tvrprasad  ·  5Kommentare

codethyme picture codethyme  ·  7Kommentare

arthurschreiber picture arthurschreiber  ·  8Kommentare