2016-04-11 86 views
0

我想連接本地機器上的SQL Server並獲取一些數據。
這裏是我的代碼:Node.js連續SQL數據庫連接問題

var sql = require("seriate"); 
var config = { 
    "host":"127.0.0.1", 
    "port": "1433", 
    "user": "dba", 
    "password": "test1234", 
    "database": "TheWorldDB" 
}; 

sql.setDefaultConfig(config); 

sql.execute({ 
    query: "SELECT * FROM dbo.Trip" 
}).then(function (results) { 
    console.log(results); 
}, function (err) { 
    console.log("Something bad happened:", err); 
}); 

而且我得到以下錯誤消息:

SqlContext錯誤。在步驟「結果」上失敗:「沒有爲該請求指定連接」。
代碼:「ENOCONN」

我查了一下數據表,密碼,查詢等一切是正確的,不知道爲什麼它沒有連接,有一點信息,我可以在網上找到爲好。任何建議將被認真考慮。

+0

確保用戶是數據庫的所有者確保您在數據庫服務器本身上使用混合模式登錄。確保您使用默認端口來訪問數據庫服務器。 – Chris

+0

@Chris你好,基督,再次檢查,一切都是正確的。但我注意到SQL Server的TCP/IP被禁用。不知道這是否會有所作爲? – user1491987

+0

這看起來很奇怪。我會繼續並啓用它。 – Chris

回答

3

回答我自己的問題: 檢查是否爲Sql Server啓用了TCP/IP,如果沒有啓用它。

轉到SQL Server配置管理器,單擊SQL Server網絡配置,然後單擊MSSQLSERVER的協議。您應該能夠看到TCP/IP狀態。

我的思考過程: 1.寫了一小段連接到相同數據庫的.net Web應用程序,工作正常。 2.在命令提示符下,嘗試「ping x.x.x.x」工作正常,嘗試「telnet x.x.x.x 1433」連接失敗。

如果上述答案無法解決您的問題,請檢查用戶名,db的密碼是否正確,以及端口號是否正確。

3

我遇到了同樣的問題。我的問題是在我的配置對象中使用「服務器」而不是「主機」。