Узел OracleDB соединение не работает на удаленном сервере - PullRequest
1 голос
/ 25 апреля 2020

Я использую oracledb с Node и ExpressJS для разработки моего приложения. В localhost у меня нет проблем с соединениями, но мне нужно настроить проект на сервере, который подключается к базе данных, которая находится на другом сервере. Когда я это делаю, я получаю сообщение об ошибке (в переводе с испанского sh):

Ошибка: ошибка: ORA-12154: TNS: указанный идентификатор соединения не может быть разрешен.

Это мой код конфигурации:

const oracleDbConfig = {
    user: "myUser",
    password: "myPassword",
    connectString: "192.168.6.129:1521/myDatabase",
}

Кроме того, если я устанавливаю свой проект на сервер базы данных и запускаю ту же конфигурацию с использованием localhost, он работает без проблем:

const oracleDbConfig = {
    user: "myUser",
    password: "myPassword",
    connectString: "localhost:1521/myDatabase",
}

Пожалуйста, помогите мне разобраться в ошибке.

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

Устранение неполадок:

  1. NetworkCheck: Ваш dbnode доступен? : dig,ping,host,nslookup
  2. FirewallCheck: вы можете подключиться к прослушивателю dbnode oracle? nc -vz dbnode 1521
  3. ServiceCheck: Служба базы данных myDatabase отображается в приемнике на узле dbnode? dbnode>$lsnrctl status | grep myDatabase

Если вы сможете пометить эти точки дерева как успешные, вы сможете подключиться.

Удачи.

0 голосов
/ 26 апреля 2020

Я решил проблему с изменением строки подключения, как написано в документации:

const oracleDbConfig = {
    user: "myUser",
    password: "myPassword",
    connectString: "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.6.129)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=myDatabase)))"
}

Оба способа допустимы, но я только заставил его работать с этим.

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