2016-04-27 6 views
2

Я использую DB2 6.1 AS/400 и System i Navigator. Возможно ли, что две разные схемы имеют два разных уровня изоляции? В настоящее время я работаю над двумя схемами, один предназначен для разработки, второй для тестирования. Первый был установлен около 4 месяцев назад, второй - несколько дней назад.Изоляция транзакций DB2 по каждой схеме

Я запускаю веб-приложение на основе Java, которое запускает некоторые инструкции SQL из Java-кода и, наконец, вызывает хранимую процедуру. Обычно thare является оператором выбора для обновления, а также некоторыми операциями выбора вставки. Все операции выполняются при одном соединении с отключенной автоматической фиксацией. Что интересно, когда я запускаю приложение на схеме разработки, все работает нормально. Когда я переключаюсь на тестовую схему (единственное изменение находится в конфигурации приложения), я получаю тайм-ауты в процедуре из-за блокировок на некоторых таблицах. Понятия не имею почему. Точно такой же код отлично подходит для производственной схемы.

Возможно ли это? Могу ли я проверить его каким-либо образом в System i Navigator?

ответ

1

Нет, уровень изоляции - это свойство уровня утверждения.

Невозможно указать уровень изоляции каждой схемы.

Даже уровень изоляции соединения просто используется по умолчанию, если оператор явно не устанавливает его.

Показать, что вы меняете для изменения схем.

0

Я меняю только конфигурационный файл: db.schema = test или db.schema = dev. Это все. Я конкатенирую каждый оператор в коде со значением свойства db.schema из config.