-1

我正在使用这个模块进行繁琐的连接。当我尝试使用 MSSQL 中的数据填充集合时遇到问题。

到目前为止我的代码:

http://pastebin.com/q4ByRCbW

Meteor.startup(function () {

    var Request = Meteor.require('tedious').Request;
    var Connection = Meteor.require('tedious').Connection;

    var config = {
        userName: 'xxxxx',
        password: 'xxxx',
        server: '197.xxx.xxx.xxx',

        // If you're on Windows Azure, you will need this:
        options: {
            encrypt: true,
            debug: {
                packet: true,
                data: true,
                payload: true,
                token: false,
                log: true
            }
        }
    };

    var connection = new Connection(config);
    var asnycWrapFunc = Async.wrap(connection.execSql);
    var rettarr = [];

    function executeStatement() {
        Fiber(function(){
            request = new Request("select * from AccountSummary", function(err, rowCount) {
              if (err) {
                console.log(err);
              } else {
                console.log(rowCount + ' rows');
              }
            });
        request.on('row', function(columns) {
            aaary = []; cnting = 0;
            columns.forEach(function(column) {
                console.log(column.value);
                aaary.push(column.value);
            });
            if (AccountSummary.find().count() === 0){
                AccountSummary.insert({ID:aaary[0], ClientNo:aaary[1], ClientName:aaary[2]});
            }

        });
         //rettarr.push(aaary);
        }).run();

        asnycWrapFunc(request);
        //return rettarr;
    }

    connection.on('connect', function(err) {
        // If no error, then good to go...
          var res = executeStatement();
          // aaary = res[0];

          console.log(res);
          errr  = err;
    });
});
4

1 回答 1

1

我发现如果你想要一个像 Tedious 这样的包,你必须使用 Future。

这个迷你教程有答案

于 2014-05-12T15:07:49.603 回答