我想使用node.js連接到Azure SQL數據庫。我在MSDN博客中找到了一個文檔,並且看到我直接使用它們的源代碼進行連接。我輸入了正確的憑證併成功連接到數據庫。無法使用node.js連接到Azure SQL(繁瑣的模塊)
但是,當我執行查詢時,它說無效的對象名稱,我的表是dbo.Users。問題是什麼?
var Connection = require('tedious').Connection;
var config = {
userName: 'myusername',
password: 'mypw',
server: 'myserver',
// When you connect to Azure SQL Database, you need these next options.
options: { encrypt: true, database: 'mydb' }
};
var connection = new Connection(config);
connection.on('connect', function (err) {
// If no error, then good to proceed.
console.log("Connected");
executeStatement();
});
var Request = require('tedious').Request;
var TYPES = require('tedious').TYPES;
function executeStatement() {
request = new Request("SELECT * FROM dbo.Users;", function (err) {
if (err) {
console.log(err);
}
});
var result = "";
request.on('row', function (columns) {
columns.forEach(function (column) {
if (column.value === null) {
console.log('NULL');
} else {
result += column.value + " ";
}
});
console.log(result);
result = "";
});
request.on('done', function (rowCount, more) {
console.log(rowCount + ' rows returned');
});
connection.execSql(request);
}
我測試了你的代碼在我身邊,它工作正常。你能否仔細檢查你的Azure SQL數據庫中是否有特定的表「用戶」。並仔細檢查您使用的數據庫模式是否爲'dbo'。並嘗試刪除查詢語句中的'dbo'。期待您的更新。 –
我檢查了我的數據庫信息。我發現我的表名是「Table」而不是「Users」,模式是dbo。 –
但是,當我使用「SELECT * FROM Table;」時或「SELECT * FROM dbo.Table;」在查詢行中,它顯示錯誤消息「關鍵字表格附近的語法錯誤」 –