To jest głównie dla przyszłych czytelników. Ponieważ pytanie (przynajmniej tytuł) skupia się na "połączeniu się z bazą danych serwera sql z węzła js", chciałbym dodać moduł węzła "mssql".
W tej chwili mamy stabilną wersję sterownika Microsoft SQL Server dla NodeJs („msnodesql”) dostępną tutaj:https://www.npmjs.com/package/msnodesql . Chociaż świetnie sprawdza się w natywnej integracji z bazą danych Microsoft SQL Server (niż jakikolwiek inny moduł węzła), jest kilka rzeczy, o których należy pamiętać.
„msnodesql” wymaga zainstalowania na komputerze hosta kilku wymagań wstępnych (takich jak python, VC++, natywny klient SQL itp.). To sprawia, że twoja aplikacja "węzłowa" jest zależna od "Windows". Jeśli nie masz nic przeciwko wdrożeniu opartemu na "Windows", najlepsza jest praca z "msnodesql".
Z drugiej strony istnieje inny moduł o nazwie „mssql” (dostępny tutaj https://www.npmjs .com/pakiet/mssql ), które mogą działać z "nudnym" lub "msnodesql" na podstawie konfiguracji. Chociaż ten moduł może nie być tak obszerny jak „msnodesql”, to w zasadzie rozwiązuje większość potrzeb.
Jeśli chcesz zacząć od „mssql”, natknąłem się na prosty i bezpośredni film, który wyjaśnia tutaj łączenie się z bazą danych Microsoft SQL Server za pomocą NodeJs:https://www.youtube.com/watch?v=MLcXfRH1YzE
Kod źródłowy powyższego filmu jest dostępny tutaj:http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft -sql-server-używa-node-js
Na wszelki wypadek, jeśli powyższe linki nie działają, dołączam kod źródłowy tutaj:
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();
Powyższy kod jest dość oczywisty. Definiujemy parametry połączenia db (w obiekcie JS "dbConfig"), a następnie używamy obiektu "Połączenie" do połączenia z SQL Serverem. W celu wykonania instrukcji "SELECT" w tym przypadku używa obiektu "Request", który wewnętrznie współpracuje z obiektem "Connection". Kod wyjaśnia oba rodzaje korzystania z wykonań opartych na "obietnicy" i "callback".
Powyższy kod źródłowy wyjaśnia tylko o połączeniu się z bazą danych serwera sql i wykonaniu zapytania SELECT. Możesz łatwo przejść na wyższy poziom, postępując zgodnie z dokumentacją węzła "mssql" dostępną pod adresem:https:/ /www.npmjs.com/package/mssql
AKTUALIZACJA: Oto nowy film, który wykonuje operacje CRUD przy użyciu czystego standardu Node.js REST (z Microsoft SQL Server):https://www.youtube.com/watch?v=xT2AvjQ7q9E . To fantastyczne wideo, które wyjaśnia wszystko od zera (ma cholernie dużo kodu i nie będzie tak przyjemne wyjaśnianie/kopiowanie całego kodu tutaj)