powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle 18 + OraOLEDB.Oracle + Create Profile = ORA-12828
4 сообщений из 4, страница 1 из 1
Oracle 18 + OraOLEDB.Oracle + Create Profile = ORA-12828
    #39810624
adasiko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно

Клиент:
Windows 10 + приложение с OraOLEDB.Oracle
Строка соединения:
Код: sql
1.
Provider=OraOLEDB.Oracle;Password=my_password;User ID=system;Data Source=XE



Сервер:
Oracle SQL 18 XE на виртуалке.

Собственно разные запросы выполняются (список пользователей, создание пользователей). Но ни в какую не хочет создаваться профиль

Вот код Delphi (типа Hello World, в приложении больше ничего нет).
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Query1.SQL.Text:='CREATE PROFILE c##new_profile '+
    'LIMIT PASSWORD_REUSE_MAX 10 '+
    'PASSWORD_REUSE_TIME 30';
  try
    Query1.ExecSQL;
  except
    on E: Exception do
    begin
      MessageDlg(E.Message, mtWarning,[mbOk], 0);
    end;
  end;


Пишет: "ORA-12828: Can't start parallel transaction at remote site"

Что работает:
1) Подсоединяюсь к серверу Oracle SQL 11 XE (прям с клиентом и библиотеками 18-го). Приложения работает отлично.
2) Использую SQL Developer 19.1. Выполняю там тот же запрос на создание профиля - тоже отлично создаётся.

Что не так с приложением с OraOLEDB.Oracle?
...
Рейтинг: 0 / 0
Oracle 18 + OraOLEDB.Oracle + Create Profile = ORA-12828
    #39810637
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
If OLEDB is configured to allow distributed transaction, then it has to set OCI_ATTR_INTERNAL_NAME and OCI_ATTR_EXTERNAL_NAME. When these are set, parallel operation is not allowed.

Workaround
If it is not necessary for OLEDB to use distributed transactions, then the following workaround can be used:
Set \HKLM\SOFTWARE\Oracle\<OracleHome>\OLEDB\DistribTX to 0.

Then INTERNAL/EXTERNAL names are not set and parallel processing will not have issues.

?
...
Рейтинг: 0 / 0
Oracle 18 + OraOLEDB.Oracle + Create Profile = ORA-12828
    #39811047
adasiko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViewerDistribTX to 0

Есть! В реестре не нашёл что-то такого.

Короче дописал в ConnectionString.

Provider=OraOLEDB.Oracle;Password=my_password;User ID=system;Data Source=XE;DistribTX=0

Теперь работает. Странно как-то что оно только на создании профиля вылезало...
...
Рейтинг: 0 / 0
Oracle 18 + OraOLEDB.Oracle + Create Profile = ORA-12828
    #39811062
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adasikoСтранно как-то что оно только на создании профиля вылезало...
рецепт был взят из ORA-12828 While Unlocking a User Account
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle 18 + OraOLEDB.Oracle + Create Profile = ORA-12828
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]