NodeJS kết nối database MS SQL Server

Chuẩn bị đồ nghề

Chạy lệnh sau để tạo một webapp hello-mssql :

$mkdir helloworld && cd hello-mssql && npm init -y && npm install express && touch index.js

Copy đoạn code sau vào file index.js

const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => res.send('Hello MS SQL!'))
app.listen(port, () => console.log(`Example app listening on port ${port}!`))

Run $node index.js

Chi tiết có thể xem thêm ở đây.

Bắt đầu nấu nướng

Chuẩn bị một database SQL Server: trong bài này mình sử dụng SQL Server 2014 với sample database AdventureWorks2014. Các bạn có thể download sample ở đây.

Cài đặt thư viện mssql vào ứng dụng. Thư viện này dùng để kết nối và query thông tin trong database SQL Server:

npm install mssql --save

Ghi đè nội dụng sau vào file index.js

const express = require('express')
const app = express()
const port = 3000
var sql = require('mssql');

app.listen(port, () => console.log(`Example app listening on port ${port}!`))


app.get('/', (req, res) => {
  var config = {
    user: 'sa',
    password: 'xxxxx',
    server: '192.168.1.100', 
    port:1433,
    database: 'AdventureWorks2014',
    options: {
      trustedConnection: true,
      encrypt: false
    } 
  }
  
  sql.connect(config, function (err) {

    if (err) console.log(err);
  
    // create Request object
    var request = new sql.Request();
  
    // query to the database and get the records
    request.query('SELECT TOP 10 [Name],[ProductNumber] FROM [Production].[Product]', function (err, recordset) {
      sql.close()

      if (err) {
        res.send(err)
      }
        
      res.send(JSON.stringify (recordset))
    })
  })
})

Save and run $node index.js

Vào Chrome chạy và test thử http://localhost:3000

Leave a Reply

Your email address will not be published. Required fields are marked *