powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Странное поведение JDBC с atomic operation
3 сообщений из 3, страница 1 из 1
Странное поведение JDBC с atomic operation
    #34235940
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая-то дурка с JDBC драйвером, уже мозги плавятся...

В хранимой процедуре пихаю во временную таблицу результат запроса, в запросе использую функцию которая апдейтит другую таблицу.
В Interactive SQL все работает. В жабе - отрабатывает без эксепшна, но временка пустая. Скопировав текст процедуры в Aqua Data Studio, получаю:

ASA Error -267: COMMIT/ROLLBACK not allowed within atomic operation

Тот запрос с хитрой функцией, если не вставлять его во временку, в Aqua Data Studio отрабатывает без проблем.

jConnect установлен 5.5

Куды копать?
...
Рейтинг: 0 / 0
Странное поведение JDBC с atomic operation
    #34235947
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое странное - jasper report эту процедуру выполняет правильно 8-0
...
Рейтинг: 0 / 0
Странное поведение JDBC с atomic operation
    #34235984
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читаю доку по jConnect:


SERVER_INITIATED_TRANSACTIONS

Allows the server to control transactions. By default the property is set to “true” and jConnect lets the server start and control transactions by using Transact-SQL™ set chained on. If set to “false,” the transactions are started and controlled by jConnect by using transact sql "begin tran." Sybase recommends that you allow the server to control the transactions.
Default value True


Читаю BOL:


CHAINED option [compatibility]

Function
Controls transaction mode in the absence of a BEGIN TRANSACTION statement.

Allowed values
ON, OFF

Default
ON
OFF for Open Client and JDBC connections

Description
Controls the Transact-SQL transaction mode. In Unchained mode (CHAINED = OFF), each statement is committed individually unless an explicit BEGIN TRANSACTION statement is executed to start a transaction. In chained mode (CHAINED = ON) a transaction is implicitly started before any data retrieval or modification statement.


То есть вещи написаны прямо противоположные... Если "Sybase recommends that you allow the server to control the transactions" то поведение драйвера по умолчанию должно быть как при set chained on. Но - не работает. В явном виде вставил в процедуру set chained on - работает.
Чему верить...:(
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Странное поведение JDBC с atomic operation
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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