可以用 MSSQL 进行微风续集吗?

Posted

技术标签:

【中文标题】可以用 MSSQL 进行微风续集吗?【英文标题】:breeze-sequelize with MSSQL possible? 【发布时间】:2015-10-14 21:08:30 【问题描述】:

目前是否可以将breeze-sequelize 连接到MS SQL 服务器?

根据doc of Sequelize,Sequelize 确实支持 MSSQL Server。 虽然在breeze doc 中没有列出 MS SQL 服务器。

我现在有点困惑。如果不可能,微风开发团队是否计划实施?或者有没有其他方法可以在带有 MSSQL 服务器的 nodejs 中使用微风?

【问题讨论】:

在getting started 部分中有对 MSSQL 的引用。你试过用那个语法吗? 我需要使用 lib breeze-sequelize。我需要创建breeze-sequelize-docs 中描述的 SequelizeManager 我尝试将方言设置为mssql,尽管我总是收到以下mysql错误[Breeze] Unable to connect to mySql:Error: getaddrinfo ENOTFOUND (LocalDb)♂11.0 【参考方案1】:

是的,这实际上是可能的。由于微风续集文档不是很“新手友好”,因此花了相当长的时间。

这是我对 MS SQL 服务器的配置。来自 github 上的微风示例的 tempHire 示例帮助很大。

var dbConfig = 
    user: 'username',
    password: 'secret',
    dbName: 'myDatabase'
;

var sequelizeOptions = 
    host: 'hostname',
    dialect: 'mssql',
    port: 1433
;


function createSequelizeManager() 
    var metadata = readMetadata();
    var sm = new SequelizeManager(dbConfig, sequelizeOptions);
    sm.importMetadata(metadata);

    return sm;

到目前为止,我唯一想不通的是如何与主机上的特定 MS SQL 实例进行通信,例如localhost\MY_MSSQL_INSTANCE.

更新

我确实发现了如何连接到特定的命名实例。

因此,如果您想连接到像 localhost\MY_MSSQL_INSTANCE 这样的 mssql 实例,sequelizeOptions 应该如下所示:

var sequelizeOptions = 
    host: 'localhost',
    dialect: 'mssql',
    dialectOptions: 
        instanceName: 'MY_MSSQL_INSTANCE'
    
;

【讨论】:

哇!我很惊讶没有其他人试图让它发挥作用。我喜欢 Breeze,需要剥离 API 以使用 MSSQL 后端在 Node.js 上运行。那里几乎没有文档,而您的答案由 butt 保存。谢谢! 是的......这个答案拯救了一天! :-)

以上是关于可以用 MSSQL 进行微风续集吗?的主要内容,如果未能解决你的问题,请参考以下文章

在hasmany的续集中与计数

用 sqlite3 续集不会创建数据库

用计算每个父母的每个关系孩子来对 findall 进行续集

MVC视图展现模式之移动布局解析-续集

restful-framwork续集2

用包含关联续集 findOrCreate