我是NodeJS的新手,我正在构建一个与MSSQL(SQL Server 2008 R2)数据库对话的应用程序。为此,我尝试使用Sequelize,这是一个声称要这样做的ORM库 虽然我成功地使它与MySQL一起工作,但SQL Server连接却无法正常工作。我两次都连接到本地数据库。这是我尝试过的(如文档中所示):
[第1部分:建立联系]
... Express Code ...
var Sequelize = require('sequelize');
var sequelize = new Sequelize('NewDB', '', '', {
host: '(localdb)\v11.0',
dialect: 'mssql',
pool: {
max: 5,
min: 0,
idle: 10000
}
});
[第2部分:测试]
var User = sequelize.define('user', {
firstName: {
type: Sequelize.STRING,
field: 'first_name' // Will result in an attribute that is firstName when user facing but first_name in the database
},
lastName: {
type: Sequelize.STRING
}
}, {
freezeTableName: true // Model tableName will be the same as the model name
});
User.sync({force: true}).then(function () {
// Table created
return User.create({
firstName: 'John',
lastName: 'Hancock'
});
});
... Express Code ...
数据库NewDB确实存在于服务器上。现在,在使用SQL Server Express时,相同的凭据可以正常工作。但不是在这里。我看到的错误是:
未处理拒绝SequelizeConnectionError:无法连接到(localdb)\ v11.0:1433 = getaddrinfo ENOTFOUND(localdb)\ v11.0
所以,这是问题所在。我放了什么凭据,以便它有效?如果它没有什么是备用库来建立数据库连接?我更喜欢ORM,但它并不重要(只要我可以连接到数据库,任何工作都可以。)