我尝试从我的计算机连接到远程SQL Server,我正在使用节点。我可以通过SQL Management Studio连接到它,我也可以连接到C#应用程序(都使用Windows身份验证)。我已经在几个论坛上搜索过(在这里也有一些问题)并且无法找到解决方案。
下面你可以找到我得到的错误:
message: 'Failed to connect to MyServer:1433 - getaddrinfo ENOTFOUND MyServer',
code: 'ESOCKET' },
name: 'ConnectionError' }
这是我使用的代码:
'use strict';
var http = require('http');
var express = require('express');
var port = process.env.PORT || 1337;
var app = express();
app.get('/', (req, resp) => {
var sql = require("mssql");
var config = {
driver: 'msnodesqlv8',
server: 'MyServer/Instance',
database: 'MyDB',
options: {
trustedConnection: true
}
};
sql.connect(config, (error) => {
if (error)
console.log(error);
var request = new sql.Request();
request.query('select * from MyTable', (err, recordset) => {
if (err)
console.log(err);
resp.send(recordset);
});
});
});
var servidor = app.listen(port, function () {
console.log("Server running");
});
答案 0 :(得分:0)
我解决了这个问题。 首先,我在我的数据库上创建了一个用户,并在我的配置中包含了用户和密码。我需要在选项中指定实例和数据库,因为当将all放在同一个字符串中时,节点无法识别。
var config = {
user: 'user_name',
password: '****',
server: 'MyServer',
options: {
instance: 'MyInstance',
database: 'MyDB'
}
};