最近对node.js比较感兴趣,网上的例子大多都是node.js集成MongoDB。我对MongoDB实在不是太感冒,并不是因为它有什么不好听,只是在工作上的确是很难遇到。
在工作上还是和Sql Server打交道多,所以要研究一下如何从node.js连接Sql Server。在搭建环境之前,我不得不说,node.js链接Sql Server有个很大的限制,那就是只能在windows下使用。
前提:
根据node-sqlerver的要求,以下环境要先设置好:
1. Node.js
2. node-gyp (npm install -g node-gyp)
3. python 2.7.x
4. Visual Studio 2010
5. SQL Server Native Client 11.0 (在安装Visual Studio的时候,这个已经装了)
6. SQL Server 2010 (在安装Visual Studio的时候,这个已经装了)
安装node-sqlserver:
npm install node-sqlserver
运行node-sqlserver test:
1. 安装mocha:在node-sqlserver安装路径下运行:npm install mocha
2. 安装async: 在node-sqlserver安装路径下运行:npm install async
3. 建立一个Sql账号:
CREATE LOGIN <USERNAME> with PASSWORD='<PASSWORD>'
GO
SP_ADDSRVROLEMEMBER '<USERNAME>', 'SYSADMIN'
GO
4. 设置test: 打开test\test-config.js, 根据设置修改server, user, 和pwd,修改mocha path为'../node_modules/mocha/bin/mocha'
5. 运行node runtests.js
这个时候,我们会遇到一下错误:
Error: Cannot find module './sqlserver.node'
我们需要做的是把build\Release文件夹下的sqlserver.node拷贝到lib文件夹下。