Ошибка подключения к двойной базе данных сервера SCDF - PullRequest
0 голосов
/ 05 августа 2020

В моей весенней пакетной задаче у меня настроено два источника данных, один для oracle, а другой для h2. H2 Я использую для таблиц выполнения пакетов и задач, а oracle - для реальных данных для пакетной обработки. Я могу успешно запустить задачу из ide, но когда я запускаю ее с сервера SCDF, я получаю следующую ошибку:

Caused by: java.sql.SQLException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from Datasource: org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-200]

Вопрос в том, почему он подключается к H2 для oracle соединение с БД?

Ниже приведена моя конфигурация БД:

 @Bean(name = "OracleUniversalConnectionPool")
        public DataSource secondaryDataSource() {
            PoolDataSource pds = null;
            try {
                pds = PoolDataSourceFactory.getPoolDataSource();

                pds.setConnectionFactoryClassName(driverClassName);
                pds.setURL(url);
                pds.setUser(username);
                pds.setPassword(password);
                pds.setMinPoolSize(Integer.valueOf(minPoolSize));
                pds.setInitialPoolSize(10);
                pds.setMaxPoolSize(Integer.valueOf(maxPoolSize));

            } catch (SQLException ea) {
                 log.error("Error connecting to the database: ", ea.getMessage());
            }

            return pds;
        }
        
       @Bean(name = "batchDataSource")
       @Primary
        public DataSource dataSource() throws SQLException {
            final SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
            dataSource.setDriver(new org.h2.Driver());
            dataSource.setUrl("jdbc:h2:tcp://localhost:19092/mem:dataflow");
            dataSource.setUsername("sa");
            dataSource.setPassword("");
            return dataSource;
        }

1 Ответ

0 голосов
/ 05 августа 2020

Я решил, проблема заключалась в том, что я использовал это для установки значений oracle db.

spring.datasource.url: ******
spring.datasource.username: ******

Он отлично работал из IDE, но когда я запустил его на сервере SCDF, он был перезаписан свойства по умолчанию, используемые для подключения к базе данных сервера SCDF. Поэтому я только что обновил свойства подключения до:

spring.datasource.oracle.url: ******
spring.datasource.oracle.username: ******

И теперь все работает, как ожидалось.

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