Node.js连接Sql Server 2008

    最近需要学习Node.js,所以很久没写东西了,疯狂的看了很久的书。有关于Node.js的学习知识,可以参考官网教程WWW.NODEJS.ORG,或者书籍《Node.js权威指南》。这里我记录一下Node.js连接Sql Server 2008的步骤。

    Node.js连接数据库需要特定的模块msnodesql,这个模块需要特定的环境去生成才可以使用。

前期准备如下:

1.安装Node.js(官网上下载)

2.安装node-gyp(安装好node.js后进入到npm目录,执行npm install node-gyp)

3.安装python 2.7.x(WWW.PYTHON.ORG上可以下载,注意下载2.7.X版本)

4.安装Visual C++ 2010 (vs2010中必须有C++模块,也可以单独下载Microsoft

5.安装SQL Server Native Client 11.0(http://www.microsoft.com/en-us/download/details.aspx?id=29065

    这些全部安装好后,就搭建好了生成msnodesql模块的环境,现在可以去官网的module上下载msnodesql模块了(注意利用npm intsall msnodesql也可以安装,但是我是win7 64执行这么命令总是不能正确安装,所以我手动下载了),下载时注意msnodesql的版本和node.js的版本对应。将下载好的msnodesql文件夹复制到node.js的node_modules路径下,然后生成步骤如下:

1.node-gyp configure

2.node-gyp build 或node-gyp build --debug(前者是release版)

    如果生成成功的话,你的msnodesql底下会出现用Visual C++2010生成后的许多工程项目文件。node.js虽然是纯javascript代码,但大部分功能只是封装成了JS脚本,许多底层的实现其实是C/C++,就好比这个msnodesql模块,里面就有很多CPP文件,所以需要生成为VC项目。

测试:

新建文件test.js:

var obj=require('msnodesql');

console.log(obj);

coby到node.exe目录下,执行node test

若不出意外则会打印msnodesql的对外接口属性。若不能正确输出,则

1.说明msnodesql安装失败或者环境美搭建好,检查上面的安装和生成步骤。

2.说明msnodesql路径没设置好:node.exe会默认去搜索node_module文件下的模块,而msnodesql本身也是一个模块,一个模块的属性是由.json来设定的,检查.json的main属性,看是否是 "main": "./lib/sql.js",sql.js才是monodesql的入口。

最后附一段操作数据库的demo作为参考:

 

var sql=require('msnodesql');
var conn_str="Driver={SQL Server Native Client 11.0};Server={.};Database={nodetest};uid=sa;PWD=123456;";
 
sql.open(conn_str, function (err, conn) {
        if (err) {
            console.log('发生错误');
        }

        sql.queryRaw(conn_str, "select * from users", function (err, results) {
            if (err) {
                console.log(err);
            }
            else {
                for (var i = 0; i < results.rows.length; i++) {
                    console.log(results.rows[i][0] + results.rows[i][1]);
                }
            }
        })

    })


 

 

 

 

你可能感兴趣的:(Node.js连接Sql Server 2008)