#node.js #sql-server
#node.js #sql-сервер
Вопрос:
Я пытаюсь подключить скрипт node js к серверу базы данных MsSQL, но не удается.
Однако мое управление Microsoft SQL Server может подключаться к базе данных.
node.js код
var Connection = require('tedious').Connection;
var config = {
server: "172.168.200.35",
dialect: "mssql",
port:51433,
authentication: {
type: 'default',
options: {
userName: 'testuser',
password: 'abc123'
}
},
options: {
database: 'IoTDb'
}
};
var connection = new Connection(config);
// Attempt to connect and execute queries if connection goes through
connection.on("connect", err => {
if (err) {
console.error(err.message);
} else {
executeStatement();
}
});
При запуске кода я получаю эту ошибку
Failed to connect to 172.168.200.35:51433:1433 - getaddrinfo ENOTFOUND 172.168.200.35:51433
Я не понимаю, почему не удается подключить порт 1433
, поскольку порт определяется как 51433
Однако, когда я пытаюсь подключиться к базе данных через эту информацию для входа (такую же, как переменная конфигурации узла)
Он подключается, и я получаю это представление над базой данных
Для получения информации о базе данных, она запущена через docker на другом компьютере, но доступна
Я переместил port
в options
, и теперь ошибка такая
Failed to connect to 172.168.200.35:51433:51433 - getaddrinfo ENOTFOUND 172.168.200.35:51433
Комментарии:
1. SSMS — это не что иное, как клиентское приложение, такое же, как ваше приложение. Если один завершается успешно, а другой терпит неудачу, проблема в коде.
2. Возможно, я ошибаюсь, но nodejs не должен подключаться к
51433
not1433
3. В моей переменной конфигурации я определил порт как
51433
4. Ошибка гласит
Failed to connect to 172.168.200.35:1433
. Это не тот же порт. Вы уверены, что установили правильный параметр?5. Я вижу. Я добавил порт на сервер в node, и можно увидеть новую ошибку
Ответ №1:
Как показывает эта проблема, порт должен быть указан в options
:
var config = {
server: "172.168.200.35",
dialect: "mssql",
...
options: {
database: 'IoTDb',
port:51433,
}
};