powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Попытка выполнить stored procedure котора отсутствует на сервере
6 сообщений из 6, страница 1 из 1
Попытка выполнить stored procedure котора отсутствует на сервере
    #37906228
Anatoliy Bazko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASE 15.0.3
Пробую выполнить простой SQL запрос (select * from ...), но вместо результата получаю ошибку, что Сервер пытался выполнить stored procedure которой нету и в помине.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
com.sybase.jdbc4.jdbc.SybSQLException: Stored procedure '*00002400000017_f9e0f3' may be run only in unchained transaction mode. The 'SET CHAINED OFF' command will cause the current session to use unchained transaction mode.

	at com.sybase.jdbc4.tds.Tds.a(Unknown Source)
	at com.sybase.jdbc4.tds.Tds.nextResult(Unknown Source)
	at com.sybase.jdbc4.jdbc.ResultGetter.nextResult(Unknown Source)
	at com.sybase.jdbc4.jdbc.SybStatement.nextResult(Unknown Source)
	at com.sybase.jdbc4.jdbc.SybStatement.nextResult(Unknown Source)
	at com.sybase.jdbc4.jdbc.SybStatement.queryLoop(Unknown Source)
	at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(Unknown Source)
	at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeQuery(Unknown Source)
	at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeQuery(CachedPreparedStatement.java:91)
	at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:342)
	at org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.db.SingleDbJDBCConnection.findItemByIdentifier(SingleDbJDBCConnection.java:453)


Как такое возможно и откуда растут ноги?
...
Рейтинг: 0 / 0
Попытка выполнить stored procedure котора отсутствует на сервере
    #37906271
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Пробую выполнить простой SQL запрос (select * from ...), но вместо результата
> получаю ошибку, что Сервер пытался выполнить stored procedure которой нету и в
> помине.
>
> com.sybase.jdbc4.jdbc.SybSQLException: Stored procedure '*00002400000017_f9e0f3' may be run only in unchained transaction mode. The 'SET CHAINED OFF' command will cause the current session to use unchained transaction mode.
>
> at com.sybase.jdbc4.tds.Tds.a(Unknown Source)
> at com.sybase.jdbc4.tds.Tds.nextResult(Unknown Source)
> at com.sybase.jdbc4.jdbc.ResultGetter.nextResult(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybStatement.nextResult(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybStatement.nextResult(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybStatement.queryLoop(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeQuery(Unknown Source)
> at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeQuery(CachedPreparedStatement.java:91)
> at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:342)
> at org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.db.SingleDbJDBCConnection.findItemByIdentifier(SingleDbJDBCConnection.java:453)
>
>
>
> Как такое возможно и откуда растут ноги?

У тебя видимо используется подготовленное выполнение запросов (prepared
statement). При этом иногда (или даже всегда) неявно создаётся временная
хранимая процедура, содержащая твой запрос, и вместо запроса выполняется она.

Если ты ничего не мутил в коннекции с 'SET CHAINED OFF'
(он же autocommit), то вполне вероятно, что это баг в JDBC-драйвере.
В любом случае, попробуй устанавливать сразу же в коннекции SET CHAINED OFF,
или ВКлючать автокоммит через JDBC API (не знаю как и можно ли вообще).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Попытка выполнить stored procedure котора отсутствует на сервере
    #37907465
Anatoliy Bazko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivУ тебя видимо используется подготовленное выполнение запросов (prepared
statement). При этом иногда (или даже всегда) неявно создаётся временная
хранимая процедура, содержащая твой запрос, и вместо запроса выполняется она.


Да так и есть. Идея с хранимыми процедурами за prepared statement-ами и проблема с автокомитом дало возможно обратить внимание на конфигурация кеша для хранимых процедур. Выходило что в кеш ложились подготовленные запросы (процедуры?) созданные при одном chained mode а потом брались из кеша и выполнялись в другом chained mode. Отключения кеша дало возможность стартануть приложению нормально.
...
Рейтинг: 0 / 0
Попытка выполнить stored procedure котора отсутствует на сервере
    #37907554
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 08/07/2012 04:09 PM, Anatoliy Bazko wrote:

> процедур. Выходило что в кеш ложились подготовленные запросы (процедуры?)
> созданные при одном chained mode а потом брались из кеша и выполнялись в другом
> chained mode.

Ни в какой кэш они вроде бы не ложаться, процедура когда создаётся , она
создаётся для работы в одном из двух режимов (chained/unchained) или в любом
из двух. Это потом контролируется при её запуске. Вы создавали их в одном
режиме, а запускали в другом. А по умолчанию процедура запоминает режим, в
котором она создавалась. ПОтом кстати его можно поменять (есть sp_set_proc_mode
или что-то такое), но поскольку процедура у вас временная, это думаю было бы
всё равно проблематично.

Отключения кеша дало возможность стартануть приложению нормально.

Какого ?



Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Попытка выполнить stored procedure котора отсутствует на сервере
    #37907789
0rc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,
наверно этого - statement cache size
...
Рейтинг: 0 / 0
Попытка выполнить stored procedure котора отсутствует на сервере
    #37924833
Anatoliy Bazko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То был кеш не БД, а в JBoss AS
http://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/4/html/Connectors_on_JBoss-Configuring_JDBC_DataSources.html

"prepared-statement-cache-size : This element specifies the number of prepared statements per connection in an LRU cache, which is keyed by the SQL query. Setting this to zero disables the cache. "
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Попытка выполнить stored procedure котора отсутствует на сервере
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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