2017-09-14 126 views
0

按照Tedious Getting Started Guide,连接到数据库是这样完成的:定义Tedious配置(Node.js)时有没有办法指定数据库?

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

     var config = { 
     userName: 'test', 
     password: 'test', 
     server: '192.168.1.210', 

     // If you're on Windows Azure, you will need this: 
     options: {encrypt: true} 
     }; 

     var connection = new Connection(config); 

     connection.on('connect', function(err) { 
     // If no error, then good to go... 
      executeStatement(); 
     } 
    ); 

一旦连接已经建立,查询可以这样进行:

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

    function executeStatement() { 
    request = new Request("select 42, 'hello world'", function(err, rowCount) { 
     if (err) { 
     console.log(err); 
     } else { 
     console.log(rowCount + ' rows'); 
     } 
    }); 

    request.on('row', function(columns) { 
     columns.forEach(function(column) { 
     console.log(column.value); 
     }); 
    }); 

    connection.execSql(request); 
    } 

这就像一个魅力但是,我想将请求更改为以下内容:

request = new Request("select * from table", function(err, rowCount) { 

很明显,这是行不通的,因为没有在配置对象中定义的数据库因此,SQL将无法识别该表。

我曾尝试加入以下配置对象:

database: 'mydb' 

我仍然得到以下错误:

Invalid object name 'table'.

什么是正确的方式来定义的配置对象的数据库?

回答

1

的配置对象必须是这样的:

var config = { 
    userName: 'username', 
    password: 'password', 
    server: 'server', 
    options: { 
     database: "databaseName", 
    } 
}; 
相关问题