#node.js #oracle #dbeaver
Вопрос:
Я пытаюсь подключить базу данных oracle DBeaver
, чтобы она работала нормально, и я могу извлекать данные и подключать их, но после перезагрузки системы я получаю следующую ошибку при подключении к БД.
Если я попытаюсь подключить ту же базу данных из своего локального nodejs
кода, это приведет к следующей ошибке.
Ошибка подключения Oracle : { [Ошибка: ORA-12170: TNS:Произошел тайм-аут подключения] Номер ошибки: 12170, смещение: 0 }
Может ли кто-нибудь помочь мне решить эту проблему?
ИЗМЕНИТЬ: Я попытался установить свой IP-адрес в строке подключения при подключении БД через Node.js
(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=SID)(CID=(PROGRAM=app.js)(HOST=HOST-URL)))(ADDRESS=(PROTOCOL=tcp)(HOST=MY-CURRENT-IP)(PORT=1524)))
все та же ошибка:
время ожидания подключения 🙁
не уверен, какой конфигурации здесь не хватает.
Заранее спасибо!
Комментарии:
1. где находится база данных oracle; на том же хосте ? и что это за версия ?
2. «после перезагрузки моей системы» — возможно, у машины, на которой находится база данных, есть динамический IP-адрес, который изменился при перезагрузке; 173.36.101.240 по-прежнему является правильным IP-адресом?
3. Нет, мой текущий IP отличается от этого, как я могу изменить его на текущий IP ?
4. Запустите
LSNRCTL STATUS
в командной строке и проверьте, работает ли он. Также проверьте, запущены ли также службы Oracle. Я столкнулся с теми же проблемами при установке «по умолчанию» в Windows, и это было связано с тем, что службы не запускались5. эта команда неизвестна windows не принимает эту команду в CMD. Как я могу проверить 🙁
Ответ №1:
Ошибка означает, что данный сервер (хост : порт) недоступен с исходного хоста, на котором вы пытаетесь подключиться к нему. Это может быть связано с:
- заблокированный порт брандмауэра
- Настройки сервера Oracle (например, «какие сетевые интерфейсы я должен прослушивать»).
- ошибка в IP-адресе хоста или номере порта.
Комментарии:
1. Это также может означать, что слушатель отключен !
2. 1-й и 2-й Я уверен, что никаких изменений вообще нет, но для 3-го пункта как я могу установить свой текущий IP в DBeaver ?
3. Не можете ли вы использовать
localhost
вместо IP-адреса?4. Я новичок в Oracle, можете ли вы подсказать мне, как установить localhost вместо IP?
Ответ №2:
«Нет, мой текущий IP отличается от этого, как я могу изменить его на текущий IP»
Основная проблема заключается в том, что вы запускаете свою базу данных на компьютере, который динамически получает свой IP-адрес. Он меняется при каждом перезапуске, превращая вашу базу данных в движущуюся цель. Если это ваш персональный компьютер, то лучшим решением будет использовать VirtualBox для создания виртуальной машины. Настройте эту виртуальную машину с помощью адаптера ТОЛЬКО для хоста, затем, когда ОС будет установлена, укажите ей фиксированный IP-адрес, а затем установите oracle.
Если это не ваша личная машина (вы не можете создать виртуальную машину), то объясните подробнее о машине, на которой установлена ваша база данных.
Комментарии:
1. Это моя офисная машина, поэтому я не могу создать на ней виртуальную машину, а что касается сервера, то на сервере установлена моя база данных oracle, и я не имею об этом большого представления. связано ли это с конфигурацией bcu серверной машины на компьютере Mac, к которому я могу подключиться без каких-либо ошибок, так что?
2. Первое, что нам нужно сделать, это посмотреть, что делает слушатель. В командной строке на компьютере, на котором запущена база данных, выполните команду «состояние lsnrctl». Затем скопируйте команду и ответ из окна командной строки и вставьте их в исходный вопрос.
3. на самом деле, у меня нет доступа к производственному серверу, у меня есть только учетные данные производственной базы данных, поэтому я думаю, что проблема не в сервере, а в том, что моя система создает probelm.
4. Я бы согласился, что это не «проблема сервера», но мы должны знать, что делает сервер и как он настроен, прежде чем мы сможем узнать, как настроить клиент. Так почему же вы не работаете над этим со своим администратором базы данных — парнем, у которого есть доступ к серверу?