Я не могу подключиться к SQL серверу, используя Node.JS сервер - PullRequest
0 голосов
/ 11 марта 2020
module.exports = {
    "user": 'ThisUsername',
    "password": 'ThisPassword',
    "server": '169.254.4.58',
    "database": 'ThisDatabase',
    "pool": {
        "max": 10,
        "min": 0,
        "idleTimeoutMillis": 30000
    }
};

Это объект конфигурации, хранящийся в отдельном файле, поэтому значения не жестко закодированы в

let sql = require('mssql');
var connStr = require('./connStr.js');

const connectionString = process.env.CONNECTION_STRING||'';
//console.log(process.env);
console.log(connectionString);

sql.on('error', err => {
  // ToDo: For testing only -- remove console.log later
  console.log(err);
});

// addapted from https://stackoverflow.com/questions/30356148/how-can-i-use-a-single-mssql-connection-pool-across-several-routes-in-an-express
const poolPromise = sql.connect(connStr)
  .then(pool => {
    console.log('SQL connection established.');
    return pool;
  })
  .catch(err => SqlClose(err));

module.exports = { sql, poolPromise };

function SqlClose(thisErr) {
    console.log(`SQL connection failed - \n${thisErr}`);
    sql.close();
};

Это код, который подключается к SQL серверу

C:\ThisDirectory>npm run dev

> ThisProject@1.0.0 dev C:\ThisDirectory
> env-cmd -f ./config/dev.env node ./src/index.js


tedious deprecated The default value for `config.options.enableArithAbort` will change from `false` to `true` in the next major version of `tedious`. Set the value to `true` or `false` explicitly to silence this message. node_modules\mssql\lib\tedious\connection-pool.js:61:23
Server is up on port 3000
SQL connection failed -
ConnectionError: Failed to connect to 169.254.4.58:1433 in 15000ms

Это ошибка при попытке подключения

Сервер подключен к порту 3000 относится к Node.JS сервер SQL Ошибка подключения относится к SQL подключение к серверу

Может показаться, что я не могу подключиться к одному из этих файлов. Я не могу включить TCP / IP на сервере SQL из-за ограничений в моей рабочей сети, SQL Браузер сервера уже запущен, это единственные две вещи, которые я могу найти в Интернете, которые, очевидно, помогают решить эту проблему. Я не писал этот код, но у разработчика есть еще один важный проект, на который стоит обратить внимание. Я в растерянности, и я в срок. Пожалуйста, помогите

1 Ответ

0 голосов
/ 11 марта 2020

Вам необходимо обновить конфигурацию следующим образом:

module.exports = {
    "user": 'ThisUsername',
    "password": 'ThisPassword',
    "server": '169.254.4.58',
    "database": 'ThisDatabase',
    "pool": {
        "max": 10,
        "min": 0,
        "idleTimeoutMillis": 30000
    },
    "options": {
    "encrypt": true,
    "enableArithAbort": true
    }
};

enableArithAbort должно быть передано в свойстве options.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...