Tedious: Nicht unterstützter Protokollfehler

Erstellt am 28. Apr. 2021  ·  21Kommentare  ·  Quelle: tediousjs/tedious

Ich sehe den folgenden Fehler, wenn ich versuche, eine Verbindung zu einer lokalen SQL-Serverdatenbank mit mühsamem herzustellen. Ich habe versucht, sowohl die IP-Adresse als auch den localhost zu verwenden, und es wird keine Verbindung hergestellt. TCP/IP ist für MSSQLSERVER im SQL Server Configuration Manager aktiviert. Ich habe auch überprüft, dass der SQL-Serverbrowser auch ausgeführt wird.

Fehler:

ConnectionError: Verbindung zu 127.0.0.1 fehlgeschlagen: 1433 - 22996: routines:ssl_choose_client_version :unsupported protocol:c :\ws\deps\openssl\openssl\ssl\statem\statem_lib.c:1942:

at ConnectionError (E:\ExpressServer\kagetruckroutingappServer\node_modules\tedious\lib\errors.js:13:12)
at Connection.socketError (E:\ExpressServer\kagetruckroutingappServer\node_modules\tedious\lib\connection.js:1641:56)
at Socket.<anonymous> (E:\ExpressServer\kagetruckroutingappServer\node_modules\tedious\lib\connection.js:1405:14)
at Socket.emit (events.js:326:22)
at emitErrorNT (internal/streams/destroy.js:100:8)
at emitErrorCloseNT (internal/streams/destroy.js:68:3)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {

Code: 'ESOCKET'
}
npm ERR! Code ELIFECYCLE
npm ERR! Fehler 1
npm ERR! [email protected] start: node ./bin/www
npm ERR! Ausgangsstatus 1
npm ERR!
npm ERR! Fehler beim
npm ERR! Dies ist wahrscheinlich kein Problem mit npm. Oben gibt es wahrscheinlich zusätzliche Logging-Ausgaben.

npm ERR! Ein vollständiges Protokoll dieses Laufs finden Sie unter:
npm ERR! geschwärzt

Code:

var Connection = require('tedious').Connection; 
var Request = require('tedious').Request;  
console.log('start')
var config = {
  server: 'localhost',
  authentication: {
    type: 'default',
    options: {
      userName: 'redacted', // update me
      password: 'redacted' // update me
    },
    options: {
      encrypt: false, 
      cryptoCredentialsDetails: {
        minVersion: 'TLSv1'
    }
    }
  }
}
    var connection = new Connection(config);  
    console.log('after connection variable')
    connection.connect();
    console.log('after connect')
    connection.on('connect', function(err) { 
      if (err) {
        console.log('Connection Failed');
        throw err;
      } 
        // If no error, then good to proceed.
        console.log("Connected");  

    });

Alle 21 Kommentare

@kagedevelopment welche Version von tedious und sql server du?

$ npm mühsam -v
6.14.8

Ich habe den Server basierend auf dem, was ich auf der Microsoft-Website gesehen habe, geändert und erhalte jetzt den Fehler, mich als Benutzer "geschwärzt" anzumelden.

var Connection = require('tedious').Connection; 
var Request = require('tedious').Request;  
console.log('start')
var config = {
  server: 'localhost.database.windows.net',  //update me
        authentication: {
            type: 'default',
            options: {
                userName: 'redacted', //update me
                password: 'redacted' //update me
            }
        },

}
    var connection = new Connection(config);  
    console.log('after connection variable')
    connection.connect();
    console.log('after connect')
    connection.on('connect', function(err) { 
      if (err) {
        console.log('Connection Failed');
        throw err;
      } 
        // If no error, then good to proceed.
        console.log("Connected");  

    });

Können Sie sich mit der neuesten Version von tedious anmelden?

Ich habe die Befehle npm install [email protected] und npm install tedious@latest ausprobiert und keiner von ihnen hat die Version aktualisiert, wenn ich den Befehl npm tedious -v ausführe, bekomme ich immer noch 6.14.8

die neueste Version ist 11.0.7. Versuchen Sie, die Befehle auszuführen: npm uninstall tedious dann npm i tedious . Das sollte das neueste installieren

Ich verwende jetzt Version 11.0.7 und sehe immer noch den gleichen Fehler. Ich habe überprüft, dass TCP/IP für MSSQLSERVER aktiviert ist, der SQL Server-Browser ausgeführt wird und der SQL Server-Agent ausgeführt wird. Ich kann mich mit den Anmeldeinformationen, die ich in meinem Code verwende, problemlos bei SSMS anmelden. Irgendeine Idee, was das Problem ist? Ich habe gesehen, dass Leute nur localhost oder die IP-Adresse für ihre Verbindung verwenden. Warum kann mein Login nur fehlgeschlagen sein, wenn localhost.database.windows.net als Server verwendet wird? Wenn ich das nicht als Server verwende, wirft es den ursprünglichen Fehler, den ich gepostet habe.

Welche SQL Server-Version verwendest du?

SQL Server Management Studio 15.0.18206.0
Microsoft Analysis Services-Clienttools 15.0.1567.0
Microsoft Data Access Components (MDAC) 6.3.9600.17415
Microsoft MSXML 3.0 5.0 6.0
Microsoft Internet Explorer 9.11.9600.19963
Microsoft .NET Framework 4.0.30319.42000
Betriebssystem 6.3.9600

Ich meine, welche Version der Datenbank verwendest du? Sie können diesen Schritten folgen , um die genaue Version zu erhalten

12.0.2269.0

In Bezug auf Ihren ersten Fehler und gemäß den Dokumenten von TLS Support for SQL 2014 RTM is currently only available by installing 2014 SP2 and 2014 SP3 . was die Fehlermeldung erklären könnte, die Sie erhalten haben: routines:ssl_choose_client_version:unsupported protocol

Versuchen Sie, 2014 SP2 zu installieren und sehen Sie, ob das hilft. (Wenn Sie nach unten scrollen, behaupteten sie auch, in 2014 SP2 Provide a method to find out the TLS/SSL protocol used by the client connection zu haben, also sollte die Installation helfen)

Ich kann mich erst am Montag damit befassen. Die Ergebnisse werde ich Ihnen dann mitteilen. Dankeschön!

Ich habe ein Ticket bei Internal IT geöffnet, um dies auf unserem Server zu aktualisieren. Ich werde euch die Ergebnisse mitteilen, sobald dies aktualisiert ist.

Sie sollen das Update am Mittwoch der kommenden Woche durchführen. Ich werde Donnerstag testen und nachfassen.

Das Aktualisieren des SQL-Servers hat das Problem behoben. Vielen Dank für Ihre Hilfe!

Hallo, ich habe ein ähnliches Problem, ich kann keine Verbindung zu meiner Datenbank herstellen, obwohl das Protokoll TCP/IP auf meinem Computer aktiviert ist. Stellen Sie außerdem sicher, dass alle SQL-Dienste ausgeführt werden

ConnectionError: Fehler beim Verbinden mit localhost:1433 - selbstsigniertes Zertifikat
at ConnectionError (C:\Users\Lauro\Documents\PruebaConexionSql\node_modulestedious\lib\errors.js:13:12)
at Connection.socketError (C:\Users\Lauro\Documents\PruebaConexionSql\node_modulestedious\lib\connection.js:1641:56)
am Sockel.(C:\Users\Lauro\Documents\PruebaConexionSql\node_modulestedious\lib\connection.js:1405:14)
bei Socket.emit (events.js:322:22)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
Nachricht: 'Verbindung zu localhost fehlgeschlagen
Code: 'ESOCKET'
}

mein Code:

const config = {
Server: 'localhost',
Authentifizierung: {
Typ: 'Standard',
Optionen: {
Benutzername: 'Benutzer',
Passwort: ''
}
},
Optionen: {
verschlüsseln: wahr,-
Datenbank: 'db'
}
};

const Connection = require('langweilig').Connection;
const config = require('./dbconfig');

const-Verbindung = neue Verbindung (config);
verbindung.connect();

connection.on('connect', function(err) {
wenn (fehler) {
Konsole.log(err);
} anders {
console.log('Verbunden');
}
});

Ich verwende die Version der Datenbank 15.0.2000.5

SQL Server Management Studio 15.0.18330.0
SQL Server-Verwaltungsobjekte (SMO) 16.100.37971.0
Microsoft Analysis Services-Clienttools 15.0.19040.0
Microsoft-Datenzugriffskomponenten (MDAC) 10.0.19041.1
Microsoft MSXML 3.0 6.0
Microsoft .NET Framework 4.0.30319.42000
Betriebssystem 10.0.19042

Versuchen Sie, diese Optionen hinzuzufügen:

Optionen: {
TrustServerZertifikat: wahr

}

@kagedevelopment kannst du dafür eine neue Ausgabe eröffnen? (damit wir es besser verfolgen können)

@Estefania-Pichardo-Montes Wenn Sie dieses Problem immer noch haben, können Sie bitte ein separates Problem dafür erstellen?

Hey, ich habe das Problem bereits gelöst und die vorgeschlagene Option hinzugefügt. Ich erhalte einen weiteren Fehler, aber mir ist klar, dass der Fehler darin bestand, dass ich den Benutzer der Windows-Authentifizierung anstelle eines SQL-Serverbenutzers verwendet habe, danke

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen