Получение ошибки «ORA-28040: нет соответствующего исключения протокола аутентификации» с пользовательской DataSourceFactJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Получение ошибки «ORA-28040: нет соответствующего исключения протокола аутентификации» с пользовательской DataSourceFact

Сообщение Anonymous »

Я расширил BasicDataSourceFactory (из [Apache Commons] DBCP) следующим образом:

Код: Выделить всё

public class MyFactory extends BasicDataSourceFactory {

public MyFactory () {}

@Override
public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable environment) throws SQLException {
return super.getObjectInstance(obj, name, nameCtx, environment);
}
}
Я использую этот класс как фабрику в определении моих ресурсов в context.xml: Затем я пытаюсь получить ресурс DataSource:

Код: Выделить всё

Context envCtx = (Context) new InitialContext().lookup("java:comp/env");
ds = (DataSource) envCtx.lookup("MyResource");
ds.getConnection().setAutoCommit(false);
Кажется, что источник данных работает нормально, поскольку ds имеет все свойства, определенные в context.xml (пользователь, пароль, URL-адрес, драйвер...). НО когда я вызываю getConnection, я получаю ошибку ORA-28040.
ОДНАКО, если я удалю строку Factory="path.to.my.factory. MyFactory" из определения ресурса DataSource (я предполагаю, что он будет использовать универсальную фабрику), getConnection работает нормально. Чего мне не хватает?
Я использую ojdbc8/JDK8 с базой данных Oracle 19, которые должны быть совместимы, согласно документации Oracle.
Я попробовал обновить ojdbc7 до ojdbc8 и перекомпилировать с помощью JDK8.

Подробнее здесь: https://stackoverflow.com/questions/790 ... on-with-cu
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»