|
Попытка выполнить stored procedure котора отсутствует на сервере
|
|||
---|---|---|---|
#18+
ASE 15.0.3 Пробую выполнить простой SQL запрос (select * from ...), но вместо результата получаю ошибку, что Сервер пытался выполнить stored procedure которой нету и в помине. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Как такое возможно и откуда растут ноги? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2012, 18:40 |
|
Попытка выполнить stored procedure котора отсутствует на сервере
|
|||
---|---|---|---|
#18+
> Пробую выполнить простой 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2012, 19:28 |
|
Попытка выполнить stored procedure котора отсутствует на сервере
|
|||
---|---|---|---|
#18+
MasterZivУ тебя видимо используется подготовленное выполнение запросов (prepared statement). При этом иногда (или даже всегда) неявно создаётся временная хранимая процедура, содержащая твой запрос, и вместо запроса выполняется она. Да так и есть. Идея с хранимыми процедурами за prepared statement-ами и проблема с автокомитом дало возможно обратить внимание на конфигурация кеша для хранимых процедур. Выходило что в кеш ложились подготовленные запросы (процедуры?) созданные при одном chained mode а потом брались из кеша и выполнялись в другом chained mode. Отключения кеша дало возможность стартануть приложению нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 15:09 |
|
Попытка выполнить stored procedure котора отсутствует на сервере
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 16:03 |
|
Попытка выполнить stored procedure котора отсутствует на сервере
|
|||
---|---|---|---|
#18+
MasterZiv, наверно этого - statement cache size ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2012, 18:20 |
|
Попытка выполнить stored procedure котора отсутствует на сервере
|
|||
---|---|---|---|
#18+
То был кеш не БД, а в 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. " ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2012, 15:46 |
|
|
start [/forum/topic.php?fid=55&fpage=14&tid=2010088]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 138ms |
0 / 0 |