• node.js 连接 sql server 包括低版本的sqlserver 2000


    利用tedious连接,github地址:https://github.com/tediousjs/tedious

    废话不多时直接上代码。

    connection.js

    var Connection = require('tedious').Connection;
    var Request = require('tedious').Request;
    
    exports.mssql = function(config){
        this.connection = new Connection(config);
    
        this.query = function(str,callback){          //执行查询
            var connection = this.connection;
            var rows={};
            connection.on('connect', function(err){                 //连接数据库,执行匿名函数
                if(err){
                    callback({'err':err['message']+'请检查账号、密码是否正确,且数据库存在'});
                }else{
                    var request = new Request(str,function(err, rowCount){
                        if(err)err = {'err':err['message']};
                        callback(err,rows);
                        connection.close();
                    });
    
                    var n=0;
                    request.on('row', function(columns) {                            //查询成功数据返回
                        rows[n]={};
                        columns.forEach(function(column) {
                            rows[n][column.metadata.colName] = column.value;        //获取数据
                        });
                        n++;
                    });
    
                    connection.execSql(request);                                 //执行sql语句
                }
            });
        }
    
    }

    test_connection.js

    var mssql = require('./tedious/connection.js');
    // var conn = new mssql.mssql({'userName':'sa','password':'123456','server':'192.168.0.135','options':{'port':1433,'database':'hybtest'}});
    // conn.query('select * from db_user', function(err,data){
    var conn = new mssql.mssql({
        'userName':'sa',
        'password':'123456',
        'server':'192.168.0.134',
        'options':{
            'port':1433,
            'database':'hybtest',
            tdsVersion:"7_1"//sql server 2000 的需要加上这个,其他版本请注释此参数
        }
    });
    conn.query('select * from test_user', function(err,data){
            if(!err){
                console.log(data)       //成功返回数据
            }
            else {
                console.log(err)      //出错返回
            }
        }
    );

    运行 node test_connection.js 可查看结果。

  • 相关阅读:
    Mayi_Maven安装与配置Myeclipse、Idea
    MY_Selenium登录126邮箱,定位不到账号输入框解决办法
    MY_使用selenium自动登录126/163邮箱并发送邮件
    2、TestNG+Maven+IDEA环境搭建
    1、Maven安装教程详解
    git常用命令
    LUA_linux的安装
    vsftp虚拟用户配置
    apache日志切割
    NTP Reply Flood Attack (NTP反射型DDos攻击)
  • 原文地址:https://www.cnblogs.com/lfm601508022/p/8431951.html
Copyright © 2020-2023  润新知