簡體   English   中英

無法在 15000 毫秒內連接到 mydb.database.windows.net:1433(Microsoft Azure SQL 數據庫)

[英]Failed to connect to mydb.database.windows.net:1433 in 15000ms (Microsoft Azure SQL Database)

我可以使用以下代碼從Microsoft Azure SQL Database中檢索數據:-

const sql = require("mssql");

var config = {
  user: "user_name",
  password: "Pass@1234",
  server: "mydb.database.windows.net",
  database: "db_name",
  options: {
    enableArithAbort: true,
  },
  stream: true,
};

module.exports = function getQueryResult(query) {
  return new Promise((res, rej) => {
    sql.connect(config).then((pool) => {
      pool.query(query, (err, result) => {
        if (err) rej(err);
        res(result);
      });
    });
  });
};

我正在使用getQueryResult function 從數據庫中獲取數據。

一切都很順利,接受介於兩者之間的以下錯誤。

  • Failed to connect to mydb.database.windows.net:1433 in 15000ms (Microsoft Azure SQL Database)

  • ConnectionError: Failed to connect to mydb.database.windows.net:1433 read ECONNRESET

  • ConnectionError: Failed to connect to mydb.database.windows.net:1433 socket hang up

我知道以前有人問過這個問題。 但我已經嘗試了所有解決方案。 沒有一個解決方案專門針對Microsoft Azure SQL Database ,所以我認為數據庫中可能存在問題。

提前致謝。

您的代碼與我的代碼有些不同,我的options用雙引號括起來。 你也可以下載我的示例代碼,它對我有用,我已經測試過了。

提示:

您需要設置Firewalls規則。 確保您的本地或 webapp 可以訪問 dbserver。

在此處輸入圖像描述

我的代碼:

const sql = require('mssql')
const config = {
    user: 'username',
    password: 'pwd',
    server: '***sqlserver.database.windows.net', // You can use 'localhost\\instance' to connect to named instance
    database: 'yourdb',
    "options": {
        "encrypt": true,
        "enableArithAbort": true
    }
}

const poolPromise = new sql.ConnectionPool(config)
  .connect()
  .then(pool => {
    console.log('Connected to MSSQL')
    return pool
  })
  .catch(err => console.log('Database Connection Failed! Bad Config: ', err))

module.exports = {
  sql, poolPromise
}

暫無
暫無

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

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