Detta är främst för framtida läsare. Eftersom frågan (åtminstone rubriken) fokuserar på att "ansluta till sql-serverdatabas från node js", skulle jag vilja chipa in om "mssql" nodmodul.
För närvarande har vi en stabil version av Microsoft SQL Server-drivrutinen för NodeJs ("msnodesql") tillgänglig här:https://www.npmjs.com/package/msnodesql . Även om det gör ett bra jobb med inbyggd integration till Microsoft SQL Server-databasen (än någon annan nodmodul), finns det några saker att notera.
"msnodesql" kräver några förutsättningar (som python, VC++, SQL inbyggd klient etc.) för att vara installerad på värddatorn. Det gör din "nod"-app "Windows" beroende. Om du klarar dig bra med "Windows"-baserad distribution är det bäst att arbeta med "msnodesql".
Å andra sidan finns det en annan modul som heter "mssql" (tillgänglig här https://www.npmjs .com/package/mssql ) som kan fungera med "tråkig" eller "msnodesql" baserat på konfiguration. Även om den här modulen kanske inte är lika omfattande som "msnodesql", löser den i stort sett de flesta behov.
Om du skulle vilja börja med "mssql" kom jag över en enkel och okomplicerad video, som förklarar hur du ansluter till Microsoft SQL Server-databas med hjälp av NodeJs här:https://www.youtube.com/watch?v=MLcXfRH1YzE
Källkoden för videon ovan finns tillgänglig här:http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft -sql-server-using-node-js
För säkerhets skull, om länkarna ovan inte fungerar, inkluderar jag källkoden här:
var sql = require("mssql");
var dbConfig = {
server: "localhost\\SQL2K14",
database: "SampleDb",
user: "sa",
password: "sql2014",
port: 1433
};
function getEmp() {
var conn = new sql.Connection(dbConfig);
conn.connect().then(function () {
var req = new sql.Request(conn);
req.query("SELECT * FROM emp").then(function (recordset) {
console.log(recordset);
conn.close();
})
.catch(function (err) {
console.log(err);
conn.close();
});
})
.catch(function (err) {
console.log(err);
});
//--> another way
//var req = new sql.Request(conn);
//conn.connect(function (err) {
// if (err) {
// console.log(err);
// return;
// }
// req.query("SELECT * FROM emp", function (err, recordset) {
// if (err) {
// console.log(err);
// }
// else {
// console.log(recordset);
// }
// conn.close();
// });
//});
}
getEmp();
Ovanstående kod är ganska självförklarande. Vi definierar db-anslutningsparametrarna (i "dbConfig" JS-objekt) och använder sedan "Connection"-objektet för att ansluta till SQL Server. För att exekvera en "SELECT"-sats, i detta fall, använder den "Request"-objektet som internt fungerar med "Connection"-objektet. Koden förklarar båda varianterna av att använda "löfte" och "återuppringning"-baserade körningar.
Ovanstående källkod förklarar bara hur man ansluter till sql-serverdatabasen och kör en SELECT-fråga. Du kan enkelt ta det till nästa nivå genom att följa dokumentationen för "mssql"-noden tillgänglig på:https:/ /www.npmjs.com/package/mssql
UPPDATERING: Det finns en ny video som gör CRUD-operationer med ren Node.js REST-standard (med Microsoft SQL Server) här:https://www.youtube.com/watch?v=xT2AvjQ7q9E . Det är en fantastisk video som förklarar allt från början (den har jävligt mycket kod och det kommer inte att vara så tilltalande att förklara/kopiera hela koden här)