正如我所见,有一个非常漂亮且可靠的 SQL Server connector for Express.js
这也可以用于 Sails.js 吗?
是的,您可以将 Microsoft SQL Server 与 Sails.js 结合使用!我已经在几个项目中做到了。实际上,您需要做的就是将其添加到您的
config/connections.js
文件中:
sqlserver: {
adapter: 'sails-sqlserver',
user: 'your_user',
password: 'your_pw',
host: 'host ip',
database: 'your_db_name',
// I've had to use this option in some cases
// where the SQL Server refuses my user otherwise
options: {
encrypt: false
}
},
然后以相同的方式使用它,通过在全局配置中将其定义为默认连接:
connection: 'sqlserver'
或在特定型号内:
// Define an adapter to use
adapter: 'sails-sqlserver'
您可能还需要考虑禁用模型中的某些字段,例如:
autoCreatedAt: false,
autoUpdatedAt: false,
也许可以在
migrate: 'safe'
文件中启用 configs/models.js
。
顺便说一句,当我必须使用 MS SQL 服务器从 Node.js 执行存储过程时,我通常会直接使用
mssql
库。
我在 Sql server Express 上也遇到类似的问题,因为我在connections.js 中添加了以下内容
sqlserver: {
adapter: 'sails-sqlserver',
host: localhost'+ '\u005C' + 'sqlexpress',
user: 'sa',
password: 'gogators',
database: 'users'
},
主机定义很奇怪,但来自 Git 上的一篇文章
我的 sql express 已启用 tcp/ip
但是我收到这个 sails 启动错误: ** 钩子“orm”需要很长时间才能加载**
现在我可以通过以下连接字符串从 asp.net MVC 访问该数据库
<add name="UsersContext" connectionString="Data Source=.\sqlexpress; Initial Catalog=Users; Integrated Security=False; user=sa;password=gogators "
providerName="System.Data.SqlClient" />
如果您使用最新版本的 Sails.js(当前为 1.5.8),您将需要以正确的方式配置您的数据存储:
module.exports.datastores = {
sqlserver: {
adapter: 'sails-mssql',
url: 'mssql://user:[email protected]:port/database',
options: {
encrypt: true // use this for Azure databases
},
},
};
下面提到的配置可能无法工作,因为sails-hook-orm使用了waterline包,因为它需要定义url属性。
module.exports.datastores = {
sqlserver: {
adapter: 'sails-mssql',
user: 'user',
password: 'password',
host: 'name-dbserver.database.windows.net', // azure database
database: 'database',
options: {
encrypt: true // use this for Azure databases
},
}
}