【发布时间】:2021-10-10 22:39:27
【问题描述】:
我正在尝试创建与 SQL Server 和 NodeJS 的连接,如下所示(本地安装的 SQL Server -> localhost):
它抛出以下错误:错误:无法连接到 MY_SERVER:1433 - 无法连接(序列)
我以为是 SQL Server 安装的问题,但是通过 Python 在同一个数据库上运行良好。 我正在使用 SQL Server 2019 和最新的 NodeJS 版本。
如何解决这个错误?
var config = {
server: 'MY_SERVER',
authentication: {
type: 'default',
options: {
userName: 'sa',
password: 'admin'
}
},
options: {
encrypt: false, // I've already tried with "true" also.
database: 'MyDataBase'
}
};
var connection = new Connection(config);
connection.on('connect', function(err) {
if (err) {
console.log("Error: ", err.message);
} else {
console.log("Connected");
}
});
connection.connect();
【问题讨论】:
-
由于您没有在配置中指定端口或实例名称,“SQL Server Browser”服务是否在目标机器上运行?
-
是的。我使用 SQL Server Management Studio 连接到数据库。我可以读取数据、创建表格等。
-
SSMS 使用不同的数据库驱动程序进行连接。请检查“SQL Server Browser”服务是否正在运行,而不是负责数据库存储的“SQL Server”服务。您可以在 SQL Server 配置管理器工具中查看这些和其他与 SQL 相关的服务。
-
现在所有服务都在运行,但在 SQL Server Browser 服务停止之前。我再次尝试,错误仍然存在:(。在 Python 中,我继续访问同一个数据库,没有任何问题。
-
我明白了!!基本上,要让 NodeJS 连接到 SQLServer,必须在 SQL Server 网络设置中为 MSSQLSERVER 实例启用 TCP/IP 协议。参考:stackoverflow.com/questions/50853516/… 和 store.oceansystems.com/knowledgebase/quickdme-faqs/…。谢谢!
标签: node.js sql-server connection