win8下 node.js模块msnodesql的配置(附连接sqlserver2008 demo)

来源:互联网 发布:数据工具培训心得 编辑:程序博客网 时间:2024/05/18 03:57

        自学编程快一年了,却第一次写博客。很是惭愧啊。。。闲话少说。简单记录下nodejs模块msnodesql的配置。一来方便自己以后查阅,二来希望能给需要这方面资料的朋友一点帮助

        msnodesql是微软为nodejs开发的一款数据库连接驱动。类似于jsp里的JDBC吧。

        前提:1.下载安装node.js。(我安装的是v 0.10.35  32位版本,64位版本未测试。貌似新版本v 0.12.7的nodejs无法编译msnodesql,也许是因为其中的node-gyp模块依赖项发生改变的原因吧)

                    2.安装python。(注意版本,msnodesql对应的python版本是2.7.x。我安装的是2.7.10)

                    3.安装visual c++2010(vs也行,但要有c++模块),按个express版本就行。

                   4.安装sql server native client 11.0。这是个单独的模块可以单独下载安装,最初是配合sqlserver2012的。但同样可以连接sqlserver2008。

                    5.在命令行执行npm install node-gyp@0.9安装node-gyp0.9.6版本的模块(1.0也可以。貌似node-gyp@2.0.2不能编译成功。就我个人而言,全局和本地安装都可以,本地安装需要稍微配置下环境变量,如果错了还望批评指正)

 1)  按上述5条安装完毕后,就可以去下载msnodesql源代码了(下载地址:https://github.com/Azure/node-sqlserver)这是个压缩包。解压到nodejs安装目录下并命名为msnodesql即可。

 2) cd 进入msnodesql目录,执行node-gyp configure。执行成功的截图:

3)执行成功后,会在msnodesql下出现一个build文件夹。里面会有.sin和vcxproj等文件,都是vc的解决方案和项目文件。连接sqlserver还是需要c++这样的底层代码帮助。

4)接着执行node-gyp build进行编译release版本,截图如下

黄色部分是警告,并非错误。如果出现红色的报错说明编译出现错误。底下出现OK说明可以了。

5)这时会在build文件夹下面生成release文件夹,里面会有一个sqlserver.node文件。这就是编译好的数据库连接的底层代码。将其拷贝到msnodesql下的lib文件夹即可。

6)新建个js文件,写上如下代码 var obj=require('msnodesql');   console.log(obj);。然后node一下。如果msnodesql模块配置成功了应该可以输出其属性方法。

7)附上一段自己写的demo:非常简单:

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

        sql.queryRaw(conn_str, "select * from banbiao", 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]);
                }
            }
        })


    })

    执行上述脚本,可以在命令行里输出前两列的数据。不支持中文表名。当然大家一般也不这么做。。。


     大笑这样就完成了配置。以上仅代表个人观点,如果有错误的地方欢迎拍砖。。。。祝我和那个人和大家七夕快乐。。。(会不会也被拍砖)


附:visual c++ 2010 express下载地址:http://www.pc6.com/softview/SoftView_54351.html


微软其实有已经有编译好的msnodesql-0.2.1-v0.8-ia32.msi里面有现成的sqlserver.node。貌似只能用于node是0.8.9的32位版本。e

      

1 0