NodeJS下访问SQL Server
1、下载node-sqlserver
(1)msnodesql (msnodesql-0.2.1-v0.8-x64.msi)下载地址:下载 自行选择与自己系统相符的版本,点击安装。
(2)msnodesql 官方地址:https://github.com/WindowsAzure/node-sqlserver 含wiki 和 疑问解答 。
开始我是通过(1)来下载node-sqlserver的,但是发现在编译build的那一步怎么都没运行通过,我的操作系统是64位的,后来在网上看到一个老外说,不要下载msi来安装,最好通过GitHub网站来下载zip包。
2、打开msnodesql 文件夹下的README.md文件,里面有说到要安装的东西。
3、安装node-gyp,打开命令行,输入命令:
npm install -g node-gyp
4、下载安装python 2.7.6,注意必须是python 2.7.x版本,我开始下载的是3.4.0版本,但是不支持gyp。
官方下载地址:https://www.python.org/download/
5、下载安装Visual C++ 2010 - the Express edition
官方下载地址:http://www.visualstudio.com/zh-cn/downloads/
6、在第一步中下载的node-sqlserver-master.zip解压之后的文件夹放到测试项目下的node_modules目录下,并把文件夹名称“node-sqlserver-master”修改为“msnodesql”。
然后在命令行里进入到\node_modules\msnodesql中,执行如下命令
node-gyp configure
这会为C++源代码创建一个解决方案和项目。成功之后再执行命令:
node-gyp build
编译成功之后,会在msnodesql文件夹的build\Release下生成一个sqlserver.node文件。
7、清除掉build下除“Release\sqlserver.node”文件之外的所有东西。
同时把sqlserver.node文件复制到msnodesql\lib文件夹中,可以打开该文件夹中的sqlserver.native.js文件,里面有调用到sqlserver.node文件。
清除掉msnodesql下的binding.gyp文件,如果不清除,会以为msnodesql没有编译。
8、安装debugging: 在测试项目的目录下新增一个文件“IISNode.yml”,文件的内容为:
loggingEnabled: true
devErrorsEnabled: true
如果项目正式上线,请删除此文件。
9、写代码测试数据库连接
var conn_str = "DSN=JobTasks;uid=sa;PWD=DB41Pswd;DATABASE=JobTasks";
var mssql = require('msnodesql');
mssql.open(conn_str, function (err, conn) {
if (err) {
console.log("Error opening the connection!");
console.log(err);
return;
}
mssql.queryRaw(conn_str, "select * from test", function (err, results) {
if (err) {
console.log(err);
}
else {
for (var i = ; i < results.rows.length; i++) {
console.log(results.rows[i][] + ' ' + results.rows[i][] + ' ' + results.rows[i][]);
}
}
})
mssql.query(conn_str, "INSERT INTO test (ID, Name, [Enable]) VALUES (?,?,?)", ['T0005', 'Test_NodeSql', 'N'], function( e, r ) {
if (e) {
console.log(e);
}
});
});
NodeJS下访问SQL Server的更多相关文章
- Ubuntu12.10下Python(pyodbc)访问SQL Server解决方案
一.基本原理 请查看这个网址,讲得灰常详细:http://www.jeffkit.info/2010/01/476/ 二.实现步骤 1.安装linux下SQL Server的驱动程序 安装Free ...
- EF 数据库连接字符串-集成安全性访问 SQL Server
使用 Windows 集成安全性访问 SQL Server 如果您的应用程序运行在基于 Windows 的 Intranet 上,则也许可以将 Windows 集成身份验证用于数据库访问.集成安全性使 ...
- 在oracle中通过链接服务器(dblink)访问sql server
在oracle中通过链接服务器(dblink)访问sql server 2013-10-16 一. 工作环境: <1> Oracle数据库版本:Oracle 11g 运行环境 :IB ...
- ORACLE透明网关访问SQL Server配置总结
透明网关概念 ORACLE透明网关(Oracle Transparent Gateway)可以解决ORACLE数据库和非ORACLE数据库交互数据的需求.在一个异构的分布式环境中,通过ORACLE ...
- ASP调用存储过程访问SQL Server
ASP调用存储过程访问SQL Server 2011-02-15 10:22:57 标签:asp 数据库 sQL 存储过程 Server ASP和存储过程(Stored Procedures)的文章 ...
- 原生的ado.net(访问sql server数据库)
本文介绍原生的ado.net(访问sql server数据库) 写在前面 数据库连接字符串 过时的写法 string str = "server=localhost;database=my_ ...
- .NET跨平台之旅:升级至ASP.NET 5 RC1,Linux上访问SQL Server数据库
今天微软正式发布了ASP.NET 5 RC1(详见Announcing ASP.NET 5 Release Candidate 1),.NET跨平台迈出了关键一步. 紧跟这次RC1的发布,我们成功地将 ...
- ODBC database driver for Go:Go语言通过ODBC 访问SQL server
Go语言通过ODBC 访问SQL server,这里需要用到go-odbc库,开源地址::https://github.com/weigj/go-odbc 一.驱动安装 在cmd中打开GOPATH: ...
- Oracle Gateways透明网关访问SQL Server
自己的本机安装了Oracle 12c,公司的平台需要同时支持Oracle与SQL Server,很多时候都有将数据从Oracle同步到SQL Server的需求.通过SQL Server的link S ...
随机推荐
- 代码研磨 Slim v3 (一)--app->get()&route->add()
index.php代码如下: $app->get('/forbase', function ($request, $response, $args){ Example\Module\Base:: ...
- ASP.NET缓存全解析4:应用程序数据缓存 转自网络原文作者李天平
System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类.此命名空间包括 Cache 类,该类是一个字典,您可以在其中存储任意数据对象,如哈希表和数据集.它还为这些对象提供了失效 ...
- 集合类学习之Hashmap机制研究
1.遍历的两种实现方法 //新建 Map map=new HashMap(); //存储值 map.put() ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 //遍历方式 ...
- JavaScript学习笔记 - 进阶篇(1)- JS基础语法
前言 JavaScript能做什么? 1.增强页面动态效果(如:下拉菜单.图片轮播.信息滚动等) 2.实现页面与用户之间的实时.动态交互(如:用户注册.登陆验证等) JS进阶篇学习什么? 在JavaS ...
- linux 环境变量的设置【转】
现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以java环境变量为例介绍三种配置环境变量的方法. 1.修改/etc/profile文件 如果你的计算机仅仅作为开 ...
- 移动Web轮播图IOS卡顿的问题
晚饭前,被测试吐槽说,banner轮播手动左右滑的时候会卡顿.我一看不科学啊,大水果手机怎么会卡顿.我一看测试手中拿的是iPod,我觉得大概是这小玩意性能不强悍,后来又拿来5S,依然会卡顿,有趣的是, ...
- 7 款令人赞叹的 HTML5 动画应用
1.HTML5 3D图片阴影翻转动画 这是一款很酷的HTML5 3D动画特效,这款3D特效可以为你的图片增加阴影的效果,而且可以让图片在鼠标滑过的时候出现3D翻转的动画效果. 在线演示 源码下载 2. ...
- Populating Next Right Pointers in Each Node II
题目地址: https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/ 关键思路:讲节点的左右子节 ...
- java集合学习一
首先看一下java集合的关系图 1.1从全面了解Java的集合关系图.常见集合 list set map等其中我们最常用的 list map 结合.几天说一下常见的map.map在我工作的两年里 ...
- 利用rsyslog 对linux 操作进行审计
环境:客户端和服务端都需要安装rsyslog服务 rsyslog server端 cd /etc/rsyslog.d/ cat server.conf $ModLoad imtcp $InputTC ...