完成SQL Server安装程序后,给定的连接字符串为Server=localhost\MSSQLSERVER01;Database=master;Trusted_Connection=True;
,这似乎是一种奇怪的格式,如果我尝试使用该连接字符串连接到带有sequelize的数据库:
var sequelize = new Sequelize(process.env.DB_STRING);
我收到错误:
TypeError:无法读取属性'替换'为null
在新的Sequelize (C:\ Users \用户乔治\源\回购\ TestProj \ node_modules \ sequelize \ lib中\ sequelize.js:132:40) 在对象。 (C:\ Users \ George \ Source \ Repos \ TestProj \ models \ index.js:13:21)at Module._compile(module.js:570:32)
答案 0 :(得分:3)
根据this article,您应该安装sequelize-msnodesqlv8
:
var sequelize = new Sequelize({
dialect: 'mssql',
dialectModulePath: 'sequelize-msnodesqlv8',
dialectOptions: {
instanceName: 'MSSQLSERVER01',
trustedConnection: true
},
host: 'localhost',
database: 'master'
});
或者更好:
var sequelize = new Sequelize({
dialect: 'mssql',
dialectModulePath: 'sequelize-msnodesqlv8',
dialectOptions: {
connectionString: 'Server=localhost\MSSQLSERVER01;Database=master; Trusted_Connection=yes;'
},
});
但是你不应该将默认数据库保留为Master
。请改用您的数据库名称。
标记:
有许多节点mssql客户端和sequelize默认使用 单调乏味,但纯粹的javascript,乏味缺乏支持 综合安全性。 msnodesqlv8是一个与a接口的客户端 本地odbc库。 这允许使用集成安全性。它 确实需要额外的二进制文件来部署,但幸运的是, msnodesqlv8与最常见的二进制文件一起分发 架构
您正在使用集成安全性,因此您需要处理该问题。