zoukankan      html  css  js  c++  java
  • 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”。

      然后在命令行里进入到 ode_modulesmsnodesql中,执行如下命令

    node-gyp configure

      这会为C++源代码创建一个解决方案和项目。成功之后再执行命令:

    node-gyp build

      编译成功之后,会在msnodesql文件夹的buildRelease下生成一个sqlserver.node文件。

    7、清除掉build下除“Releasesqlserver.node”文件之外的所有东西。

      同时把sqlserver.node文件复制到msnodesqllib文件夹中,可以打开该文件夹中的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 = 0; i < results.rows.length; i++) {
                    console.log(results.rows[i][0] + ' ' + results.rows[i][1] + ' ' + results.rows[i][2]);
                }
            }
        })
    
        mssql.query(conn_str,  "INSERT INTO test (ID, Name, [Enable]) VALUES (?,?,?)", ['T0005', 'Test_NodeSql', 'N'], function( e, r ) {
    
            if (e) {
                console.log(e);
            }
        });
    });
  • 相关阅读:
    C# DataTable的用法详解
    Matlab绘图方法汇总
    java中Comparator的用法
    Java获取随机数
    jQuery动画高级用法——详解animation中的.queue()函数
    Oracle序列号详解
    jQuery验证框架教程
    二十四、按后退键退出Android程序
    同步synchronized用法
    jQuery 复选框全选反选
  • 原文地址:https://www.cnblogs.com/yumianhu/p/3716634.html
Copyright © 2011-2022 走看看