J'essaie de connecter node.js
à mssql
en mode d'authentification Windows. J'ai installé les modules tedious
, mssql
et msnodesqlv8
, mais je n'arrive toujours pas à comprendre comment ouvrir une connexion.Node.js Connexion avec l'authentification Windows SQL Server
C'est ce que j'ai essayé:
var sql = require('mssql');
var config = {
driver: 'msnodesqlv8',
server: 'POPPY-GI\\SQLEXPRESS',
database: 'NodinSports',
options:{
trustedConnection: true,
useUTC: true}}
sql.connect(config).then(function() {
new sql.Request().query('select * from users')
.then(function(recordset){
console.log(recordset);
}).catch(function(err) {
console.log(err);});
}).catch(function(err) {
console.log(err);});
Après l'exécution, je reçois une longue erreur disant:
`ConnectionError`: Port for `SQLEXPRESS` not found in
`ServerName`;POPPYGI;`InstanceName;SQLEXPRESS;IsClustered`;No;Version;12.0.2000.8;;
at Connection.tedious.once.err (D:\Never Lazy\University\`AN2, SEM 2\WEB\`Projek`\node_modules\`mssql`\lib\`tedious.js:216:17`)
at Connection.g (events.js:291:16)
at emitOne (events.js:96:13)
at Connection.emit (events.js:188:7)
at D:\Never Lazy\University\AN2,SEM2\WEB\Projekt\node_modules\tedious\lib\connection.js:570:27
at D:\Never Lazy\University\AN2,SEM2\WEB\Projekt\node_modules\tedious\lib\instance-lookup.js:91:24
at Socket.onMessage (D:\Never Lazy\University\AN2,SEM2\WEB\Projekt\node_modules\tedious\lib\sender.js:140:9)
at emitTwo (events.js:106:13)
at Socket.emit (events.js:191:7)
at UDP.onMessage (dgram.js:549:8)
code: 'EINSTLOOKUP',
Je serais très reconnaissant pour toute aide.
FIXES:
En services.msc
vérifier si les points suivants sont activés:
SQL Server(*server_name*) -- in my case `SQLEXPRESS`
SQL Server Browser
SQL Server Agent(*server_name*) -- if you are using `SQLEXPRESS` this doesn't need to run
Dans SQL Server Configuration Manager -> Protocoles pour nom_serveur: activer TCP/IP
.
Pour vous assurer que tout ira bien, vérifiez le port utilisé par le serveur (SQL Server Configuration Manager -> SQL Native Client Configuration -> Protocoles client ->double-cliquez surTCP/IP
-> Port par défaut), et ajouter le port: *your_port*
au code var config = { ... }
.
Enfin, changer var sql = require('mssql');
-var sql = require("mssql/msnodesqlv8");
Est-ce que POPPYGI est un rem serveur d'ote? Le service SQL Browser est-il en cours d'exécution? Pouvez-vous vous connecter en utilisant SSMS à cette instance? Quel port est réellement utilisé par le service (les logs SQL vous le diront)? –
Serveur local, le service SQL Browser est en cours d'exécution, le port est 1433. Je ne comprends pas vraiment ce que vous entendez par "se connecter en utilisant SSMS à cette instance". J'ai ajouté le port: 1433 à la 'config', et maintenant je reçois une erreur disant: 'ConnectionError: La connexion a échoué pour l'utilisateur ''. [...] – Brigitta
Merci pour votre aide, problème résolu.^_^ – Brigitta