2017-09-14 81 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", 
    } 
}; 
相關問題