Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Node.js和Microsoft SQL Server_Sql Server_Node.js_Node Mssql_Tedious - Fatal编程技术网

Sql server Node.js和Microsoft SQL Server

Sql server Node.js和Microsoft SQL Server,sql-server,node.js,node-mssql,tedious,Sql Server,Node.js,Node Mssql,Tedious,有没有办法让我的Node.js应用程序与Microsoft SQL通信? 我还没有在野外看到任何MS SQL驱动程序 我正在组装一个非常简单的应用程序,需要能够与现有的MS SQL数据库通信(否则我会使用mongoDB或Redis)您可以使用: node.js的TDS协议的激动人心的实现,允许与sql server通信 用法: var mssql = require('./mssql'); var sqlserver = new mssql.mssql(); sqlserver.connect(

有没有办法让我的Node.js应用程序与Microsoft SQL通信? 我还没有在野外看到任何MS SQL驱动程序

我正在组装一个非常简单的应用程序,需要能够与现有的MS SQL数据库通信(否则我会使用mongoDB或Redis)

您可以使用:

node.js的TDS协议的激动人心的实现,允许与sql server通信

用法:

var mssql = require('./mssql');
var sqlserver = new mssql.mssql();
sqlserver.connect({'Server':__IP__,'Port':'1433','Database':'','User Id':'','Password':''});
var result = sqlserver.execute("SELECT * FROM wherever;");

该链接仅详细说明了sql 2000解决方案,而不是sql 2005或sql 2008,并且该代码只允许发送sql文本,不允许执行存储过程


真正的解决方案是在linux服务器或windows机器上的虚拟linux服务器上安装node JS,然后转到microsoft网站下载JDBC java驱动程序,并在linux服务器或linux虚拟服务器上安装这些microsoft ms sql java JDBC驱动程序。

最近刚刚发布了两个新的node.js sql server客户端。我写了一个名为,还有一个名为

TSQLFTW-T-SQL For The WIN(dows)-由Fosco Marotto编写

这是一个C++和ADO.NET托管代码解决方案,带有一个No.js可以导入和使用的C++包装器。p>


如果你知道.NET,你可以试试WCF数据服务(ADO.NET数据服务);编写用于数据访问的WCF应用程序,并使用odata(REST on steroids)与数据库交互

  • WCF数据服务:
  • 小田:

如果您喜欢SOA并使用SQLServer2005,那么您可以查看针对MicrosoftSQLServer2005的本机XMLWeb服务


您可以将SQL Server作为web服务(HTTP、SOAP)访问。

如果您在.NET上运行,请查看entityspaces.js,我们正在为Node.js创建一个完整的通用ORM,它不需要WCF JSON服务


如果您使用的是MSFT后端技术,您现在就可以使用它,但是,我们正在创建一个universal Node.js ORM,很快就会有更多信息

我们刚刚发布了用于SQL Server连接的Node.js预览驱动程序。你可以在这里找到它们:

Microsoft(Windows Azure团队)刚刚发布了SQL SERVER的节点驱动程序

据我所知,它没有NPMyert的软件包,但它是开源的。以及接受社区捐款

简介博文如下:


有来自Microsoft的更新。这里是一系列的博客帖子(和)。

(重复我从另一个问题中得到的答案)

我建议,这是一个很好的其他连接器包装器,默认是我以前的选择()带来了更好的接口。这是一个JavaScript实现,没有编译要求,这意味着您可以在windows和非windows环境中工作

如果您不介意引入带有二进制桥的.Net或Mono,另一个选择是使用。如果您想利用node.js中的.Net库,这会非常好


已被放弃,无法与windows一起使用,并且MS驱动程序似乎无法在非windows上工作(并且有一些愚蠢的要求)。

您可以使用另一个模块-。它使用其他TDS模块作为驱动程序,并提供易于使用的统一接口。它还添加了额外的功能和错误修复

额外功能:

  • 多个MSSQL驱动程序的统一接口
  • 与事务和已准备语句的连接池
  • 所有驱动程序的参数化存储过程
  • 地理和几何CLR类型的序列化
  • 智能JS数据类型到SQL数据类型映射器
  • 支持承诺和标准回调

原来的问题很老,现在使用@PatrikŠimek的答案,将@Tracker1的答案包装起来是最好的方法

所接受的答案中所提到的需要安装一个疯狂的先决条件列表:VisualC++ 2010、SQL Server本机客户端11、Python 2.7 .x以及服务器上64位的Windows 7 SDK。如果你问我的话,你不想在你的Windows服务器上安装所有这些GB的软件

你真的想用。但是也可以使用来包装它,使编码更加容易

2014年8月更新

  • 两个模块仍在积极维护。对问题的反应相当迅速和有效
  • 这两个模块都支持SQL Server 2000-2014
  • 自节点mssql 1.0.1起支持流式传输
2015年2月更新-2.x(稳定,npm)

  • 更新至最新的乏味1.10
  • 许诺
  • 对对象流的管道请求
  • 详细的SQL错误
  • 事务中止处理
  • 集成类型检查
  • CLI
  • 小修
这是显而易见的:

这是一个乏味的依赖项。用这个

var sql     = require('mssql');

var config = {
  server: '192.168.1.212',
  user:     'test',
  password: 'test'
};

sql.connect(config, function(err) {
    var request = new sql.Request();
    request.query("select 42, 'hello world'", function(err, recordset) {
        console.log(recordset);
    });
});

Node.js SQL Server驱动程序似乎非常不成熟——有一堆不同的项目,它们具有不同的依赖性、性能和完整性级别,但没有一个能够激发信心

我建议使用。这充分利用了.NET成熟的数据库驱动程序生态系统,并且只依赖于.NET(如果您在Windows上运行node,这是一个很简单的方法——如果没有,但我还没有尝试过)

下面是一个使用edge sql的节点示例(server.js)(注意,您需要按照edge sql文档将连接字符串放入环境变量中):


您还可以利用.NET访问其他数据库,如Oracle。我已经给出了该方法的一个例子。

截至2016年5月的状态如下

用于节点的官方Microsoft SQL驱动程序名为,已多年未更新

这个平台上有一个新的fork,名为,它与节点版本0.12.x一起工作。和>=4.1.x。该fork还具有用于x64和x86目标的预编译二进制文件

该软件包在NPM as上提供

我推荐这个软件包,因为它是轻量级的(有
var sql     = require('mssql');

var config = {
  server: '192.168.1.212',
  user:     'test',
  password: 'test'
};

sql.connect(config, function(err) {
    var request = new sql.Request();
    request.query("select 42, 'hello world'", function(err, recordset) {
        console.log(recordset);
    });
});
var edge = require('edge');

// edge-sql has built in support for T-SQL / MSSQL Server
var getData = edge.func('sql', function () {/*
    select top 10 * from sometable
*/
});

getData(null, function (error, result) {
    if (error) throw error;
    console.log(result);
});