Microsoft oledb провайдер для оракула не работает для Oracle 19c

Я работаю над настольным приложением. Наше настольное приложение также поддерживает Oracle DB.

Для подключения к базе данных Oracle мы используем Microsoft oledb провайдера для оракула. Он работает хорошо, пока я не подключусь к Oracle 12c.

Теперь, когда мы используем Oracle 18C или более позднюю версию, мое приложение падает при открытии соединения.

Пожалуйста, посмотрите фрагмент кода ниже:

Dim dtb As ADODB.Connection
Dim conn As String
conn = "Provider=MSDAORA;" & "Data Source=INRT" & ";Password=abc@908" & 
";User ID=system"
dtb.open(conn, "system", "abc@908", 
ADODB.ConnectOptionEnum.adAsyncConnect)

Здесь выдается ошибка "Попытка чтения или записи защищенной памяти. Это часто указывает на то, что другая память повреждена". и вылетает.

Примечание. Используя клиент Oracle 19c (32-разрядный), я могу установить соединение, используя приведенные выше сведения.

Пожалуйста, помогите мне решить проблему.

0 ответов

Информация об исключении: Тип исключения: AccessViolationException Сообщение об исключении: Попытка чтения или записи в защищенную память. Это часто указывает на то, что другая память повреждена.

MSDAORA устарела, измените поставщика =MSDAORA на ниже

Стандартный поставщик безопасности =OraOLEDB.Oracle; Источник данных =MyOracleDB; Идентификатор пользователя = myUsername; Пароль = myPassword; Oracle Trusted Connection Этот параметр определяет аутентификацию ОС, которая будет использоваться при подключении к базе данных Oracle. Провайдер =OraOLEDB.Oracle; Источник данных =MyOracleDB;OSAuthent=1;

Другие вопросы по тегам