簡體   English   中英

如何將現有的 nodejs 服務器應用程序連接到 Azure SQL 數據庫

[英]How to connect an existing nodejs server app to Azure SQL database

任何人都可以請建議:

我有一個在 azure 上運行的現有 nodejs 服務器,在 Linux 上運行節點 10.14。 項目代碼在 github 上,當我推送更改時,它們會自動推送到 azure。

我已經通過 Azure 門戶設置了數據庫服務器和數據庫,並且可以通過 Azure 門戶進行查詢。

我想修改 nodejs 服務器以連接到數據庫,我有連接字符串代碼等,但只是添加行的行為:

var mysql = require('mysql'); 

將停止服務器表單運行,因為我可能沒有在 Azure 雲中運行服務器的機器上安裝 mysql。

我怎樣才能讓它工作?

謝謝你的幫助,米奇。

According to the error, you do not add the package in your package.json file and install the package in your project. 另外,如果要連接Azure SQL服務器數據庫,我們可以使用package mssqql

例如

  1. 我的package.json文件
{
....
  
    "dependencies": {
        "express": "^4.17.1",
        "mssql": "^6.2.0",
        "request": "^2.88.2"
    }

}
  1. 代碼
const router = express.Router()
const sql = require('mssql')


const config = {

  user: "<user name>",
  password: "<password>",
  server: "<your SQL server name>.database.windows.net",
  port: 1433,
  database: "test",
  connectionTimeout: 3000,
  parseJSON: true,
  options: {
    encrypt: true,
    enableArithAbort: true
  },
  pool: {
    min: 0,
    idleTimeoutMillis: 3000
  }
};
const pool = new sql.ConnectionPool(config);
const poolConnect = pool.connect();

router.get('/', async function (req, res) {
  
  await poolConnect;
  try {
    const request = pool.request(); 
    const result = await request.query('select 1 as number')
    console.log(result);
    res.json(result.recordset);
    
} catch (err) {
    console.error('SQL error', err);
    res.send(err);
}
});
  1. 測試。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM