Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Kết nối với cơ sở dữ liệu SQL Server từ Node.js

Điều này chủ yếu dành cho những độc giả trong tương lai. Vì câu hỏi (ít nhất là tiêu đề) tập trung vào "kết nối với cơ sở dữ liệu máy chủ sql từ nút js", tôi muốn giới thiệu về mô-đun nút "mssql".

Tại thời điểm này, chúng tôi có phiên bản ổn định của trình điều khiển Microsoft SQL Server cho NodeJs ("msnodesql") tại đây: https://www.npmjs.com/package/msnodesql . Mặc dù nó thực hiện rất tốt việc tích hợp gốc vào cơ sở dữ liệu Microsoft SQL Server (hơn bất kỳ mô-đun nút nào khác), nhưng có một số điều cần lưu ý.

"msnodesql" yêu cầu một số điều kiện tiên quyết (như python, VC ++, SQL native client, v.v.) để được cài đặt trên máy chủ. Điều đó làm cho ứng dụng "nút" của bạn phụ thuộc vào "Windows". Nếu bạn ổn với việc triển khai dựa trên "Windows", thì làm việc với "msnodesql" là tốt nhất.

Mặt khác, có một mô-đun khác được gọi là "mssql" (có sẵn tại đây https://www.npmjs .com / package / mssql ) có thể hoạt động với "tẻ nhạt" hoặc "msnodesql" dựa trên cấu hình. Mặc dù mô-đun này có thể không toàn diện như "msnodesql", nhưng nó giải quyết được hầu hết các nhu cầu.

Nếu bạn muốn bắt đầu với "mssql", tôi đã xem một video đơn giản và dễ hiểu, giải thích về cách kết nối với cơ sở dữ liệu Microsoft SQL Server bằng NodeJs tại đây:https://www.youtube.com/watch?v=MLcXfRH1YzE

Mã nguồn cho video trên có sẵn tại đây: http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft -sql-server-using-node-js

Đề phòng trường hợp các liên kết trên không hoạt động, tôi sẽ đưa mã nguồn vào đây:

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();

Đoạn mã trên khá tự giải thích. Chúng tôi xác định các tham số kết nối db (trong đối tượng JS "dbConfig") và sau đó sử dụng đối tượng "Connection" để kết nối với SQL Server. Để thực hiện câu lệnh "SELECT", trong trường hợp này, nó sử dụng đối tượng "Request" hoạt động bên trong với đối tượng "Connection". Mã giải thích cả hai cách sử dụng thực thi dựa trên "lời hứa" và "gọi lại".

Mã nguồn trên chỉ giải thích về việc kết nối với cơ sở dữ liệu máy chủ sql và thực hiện truy vấn SELECT. Bạn có thể dễ dàng nâng nó lên cấp độ tiếp theo bằng cách làm theo tài liệu về nút "mssql" có sẵn tại: https:/ /www.npmjs.com/package/mssql

CẬP NHẬT: Có một video mới thực hiện các hoạt động CRUD sử dụng tiêu chuẩn REST thuần túy của Node.js (với Microsoft SQL Server) tại đây: https://www.youtube.com/watch?v=xT2AvjQ7q9E . Đó là một video tuyệt vời giải thích mọi thứ từ đầu (nó có rất nhiều mã và sẽ không vui khi giải thích / sao chép toàn bộ mã ở đây)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn các hàng vừa chèn

  2. Mẹo để giảm độ phức tạp của máy chủ SQL của bạn

  3. Làm cách nào để khóa bảng khi đọc, sử dụng Entity Framework?

  4. Flask-SQLAlchemy đếm bản ghi khác nhau cho .count () và .all ()

  5. Cách sử dụng UTF-8 Collation trong cơ sở dữ liệu SQL Server?