Я не могу подключиться к Oracle DB через unix-сервер в JDBC [дубликат]

У меня есть другая перспектива ответить на это.

При работе на разных уровнях, например, в приложении MVC, контроллеру нужны службы для вызова бизнес-операций. В таких сценариях контейнер инжекции зависимостей может использоваться для инициализации служб, чтобы исключить исключение NullReferenceException. Это означает, что вам не нужно беспокоиться о проверке нулевого значения и просто вызвать службы с контроллера, как будто они всегда будут доступны (и инициализированы) как одиночный или прототип.

public class MyController
{
    private ServiceA serviceA;
    private ServiceB serviceB;

    public MyController(ServiceA serviceA, ServiceB serviceB)
    {
        this.serviceA = serviceA;
        this.serviceB = serviceB;
    }

    public void MyMethod()
    {
        // We don't need to check null because the dependency injection container 
        // injects it, provided you took care of bootstrapping it.
        var someObject = serviceA.DoThis();
    }
}
8
задан Java Guy 7 September 2011 в 04:02
поделиться

3 ответа

Отметьте https://forums.oracle.com/forums/thread.jspa?messageID=2540479 , возможно, вы должны изменить параметр хоста файла listener.ora на свой параметр хоста. Вы можете проверить, какой параметр является вашим именем хоста в windows, cmd> hostname

0
ответ дан baybora.oren 31 August 2018 в 10:58
поделиться

Кажется, у пула соединений заканчиваются соединения ... Когда буфер входящего буфера прослушивателя СУБД перегружен многими одновременными запросами на соединение. Это приведет к сбою некоторых из них.

вы можете немного смикнуть поток (от полусекунд до секунды или около того) между последовательными запросами на соединение. После этого не закрывайте соединения, пока они не сломаются. Храните их и повторно используйте их.

1
ответ дан Maxwell Cheng 31 August 2018 в 10:58
поделиться

попробуйте выполнить

  1. (очевидно) IP-адрес неверен - попробуйте PING
  2. Порт не открыт или заблокирован брандмауэром - попробуйте TELNET
  3. Слушатель БД не запущен или не привязан к другому сетевому интерфейсу - снова TELNET должен подтвердить это (также использовать инструменты клиента Oracle для подключения)
  4. Локальные порты недоступны для out- (маловероятно) - только если вы делаете тысячи подключений или создаете сотни новых подключений каждую минуту.
10
ответ дан user207421 31 August 2018 в 10:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: