Используя Oracle Data Provider для .NET, мое приложение подключается к базе данных, используя привилегированного пользователя SYS. Строка подключения выглядит следующим образом:
Data Source=MyTnsName;User ID=sys;Password=MySysPassword;DBA Privilege=SYSDBA
Это прекрасно работает с Oracle 10, но Oracle 11 продолжает жаловаться на неверное имя пользователя или пароль. Я проверил, что пароль правильный - другие приложения работают с теми же учетными данными.
Обратите внимание, что для обычных пользователей (без части DBA Privilege
) подключение к Oracle 11 работает отлично.
Итак, что не так?
Обновление
Это не проблема чувствительности к регистру - при построении строки подключения регистр пароля не изменяется моим кодом, и пароль отлично работает с другими, не .NET-приложениями.
Я подозреваю, что это может быть вызвано клиентом Oracle 10, который я использую для подключения к базе данных 11. Oracle заявляет, что клиент совместим вверх, единственным недостатком является то, что вы не можете использовать некоторые новые функции базы данных. Однако соединения SYSDBA
явно не являются новой функцией Oracle 11, и, опять же, не .NET-приложение (Keeptool Hora) может подключаться с использованием той же настройки.
Есть еще идеи?
Обновление 2:
Проблема сохраняется при использовании клиента Oracle 11: - (
Обновление 3:
Я сделал тест с другой установкой базы данных, версия 11.2 (сначала была 11.1) - тот же результат.
Также, возможно, стоит отметить, что с пользователем SYSTEM
(также использующим часть DBA Privilege
) все работает нормально. Однако у меня есть для работы с SYS
.