首页 > 解决方案 > SQL Server 2019 Express 我无法连接

问题描述

我的 express 项目无法使用 mssql 库连接到 SQL Server。我可以连接 VS Code 和 SQL Server Management Studio

var express = require('express');
var app =
 express();
const sql = require('mssql')  
var config = {
    user: 'eren',
    password: 'PAssPoxx1.',
    server: 'localhost', 
    database: 'AIRPLANE',
    options: {
        encrypt: true,
        enableArithAbort: true}  
};  
const poolPromise = new sql.ConnectionPool(config)  
.connect()  
.then(pool => {  
console.log('Connected to MSSQL')  
return pool  
})  
.catch(err => console.log('Database Connection Failed! Bad Config: ', err)) 


app.get('/', function (req, res) {
   
// Configuration object for your database

// connect to the database
sql.connect(config, function (err) {
    console.log("x")
    if (err) console.log(err);
    // create Request object
    var request = new sql.Request();
       
    // query to the database and get the records
    request.query('select * from User', function (err, recordset) {
        
        if (err) console.log(err)
        // send records as a response
        res.send(recordset);
        
    });
});
});
var server = app.listen(3000, function () {
    console.log('Server is running..');
});

我的错误说:

数据库连接失败!错误配置:ConnectionError:无法连接到 localhost:1433 - 无法在连接处连接(序列)。(C:\Users\Anıl Eren\Downloads\database-api\node_modules\mssql\lib\tedious\connection-pool.js:68:17) 在 Object.onceWrapper (events.js:422:26) 在 Connection.emit (events.js:315:20) 在 Connection.socketError (C:\Users\Anıl Eren\Downloads\database-api\node_modules\mssql\node_modules\tedious\lib\connection.js:1290:12)
在 C:\Users\Anıl Eren\Downloads\database-api\node_modules\mssql\node_modules\tedious\lib\connection.js:1116:21 在 SequentialConnectionStrategy.connect (C:\Users\Anıl Eren\Downloads\database-api \node_modules\mssql\node_modules\tedious\lib\connector.js:87:14) 在 Socket.onError (C:\Users\Anıl Eren\Downloads\database-api\node_modules\mssql\node_modules\tedious\lib\connector. js:100:12) 在 Socket.emit (events.js:315:20) 在 emitErrorNT (internal/streams/destroy.js:106:8) 在 emitErrorCloseNT (internal/streams/destroy.js:74:3) {代码:'ESOCKET',originalError:ConnectionError:无法连接到 localhost:1433 - 无法在 ConnectionError 处连接(序列)(C:\Users\Anıl Eren\Downloads\database-api\node_modules\mssql\node_modules\tedious\lib \errors.js:13:12) 在 Connection.socketError (C:\Users\Anıl Eren\Downloads\database-api\node_modules\mssql\node_modules\tedious\lib\connection.js:1290:56)
在 C:\Users\Anıl Eren\Downloads\database-api\node_modules\mssql\node_modules\tedious\lib\connection.js:1116:21 在 SequentialConnectionStrategy.connect (C:\Users\Anıl Eren\Downloads\database-api \node_modules\mssql\node_modules\tedious\lib\connector.js:87:14) 在 Socket.onError (C:\Users\Anıl Eren\Downloads\database-api\node_modules\mssql\node_modules\tedious\lib\connector. js:100:12) 在 Socket.emit (events.js:315:20) 在 emitErrorNT (internal/streams/destroy.js:106:8) 在 emitErrorCloseNT (internal/streams/destroy.js:74:3) 在processTicksAndRejections (internal/process/task_queues.js:80:21) { code: 'ESOCKET' } }

编辑:启用 TCP/IP 端口 1433

标签: sqlsql-serverdatabaseexpresstedious

解决方案


var config = {
    user: 'eren',
    password: 'PAssPoxx1.',
    server: 'localhost', 
    database: 'AIRPLANE',
    options: {
        encrypt: true,
        enableArithAbort: true}  
};  

您的 sqlserver 实例是否名为 mssqlserver?如果不是,在大多数情况下,您必须指定实例名称“localhost\SQLEXPRESS”。


推荐阅读