Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / db2 v.10 / 10 сообщений из 10, страница 1 из 1
14.04.2016, 14:37
    #39215726
ferc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 v.10
Здравствуйте.

Подскажите отчего может возникать эта ошибка?
web-сервис крутится на WAS 7 дравер версии 10.5 Fix Pack 7 (3.69.49)
используется MyBatis 3.1.1
DB2 версии 10 с каким фиксом не знаю.

Выполнятся вызов хранимой процедуры с пакетной вставкой записей, коммит через 800 записей.

Типы параметров в процессе вставки не меняются.

Ошибка возникает не всегда.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
### Error updating database.  Cause: com.ibm.db2.jcc.am.SqlException: [jcc][10254][10854][3.69.49] Если используется sendDataAsIs = true, типы параметров должны совпадать с ранее заданными в пакете типами. ERRORCODE=-4474, SQLSTATE=null
### The error may involve ru.xxxMapper.savePers-Inline
### The error occurred while setting parameters
### Cause: com.ibm.db2.jcc.am.SqlException: [jcc][10254][10854][3.69.49] Если используется sendDataAsIs = true, типы параметров должны совпадать с ранее заданными в пакете типами. ERRORCODE=-4474, SQLSTATE=null
	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:147)
	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:82)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:40)
	at $Proxy89.savePersPostJSPB3947(Unknown Source)
	at ru.service.Xrt.setPersInfo(Xrt.java:377)
	at sun.reflect.GeneratedMethodAccessor346.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:611)
	at com.ibm.ws.webservices.engine.dispatchers.java.JavaDispatcher.invokeMethod(JavaDispatcher.java:178)
	at com.ibm.ws.webservices.engine.dispatchers.java.JavaDispatcher.invokeOperation(JavaDispatcher.java:141)
	at com.ibm.ws.webservices.engine.dispatchers.SoapRPCProcessor.processRequestResponse(SoapRPCProcessor.java:490)
	at com.ibm.ws.webservices.engine.dispatchers.SoapRPCProcessor.processMessage(SoapRPCProcessor.java:433)
	at com.ibm.ws.webservices.engine.dispatchers.BasicDispatcher.processMessage(BasicDispatcher.java:134)
	at com.ibm.ws.webservices.engine.dispatchers.java.SessionDispatcher.invoke(SessionDispatcher.java:204)
	at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:263)
	at com.ibm.ws.webservices.engine.handlers.jaxrpc.JAXRPCHandler.invoke(JAXRPCHandler.java:153)
	at com.ibm.ws.webservices.engine.handlers.WrappedHandler.invoke(WrappedHandler.java:64)
	at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:263)
	at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:263)
	at com.ibm.ws.webservices.engine.WebServicesEngine.invoke(WebServicesEngine.java:336)
	at com.ibm.ws.webservices.engine.transport.http.WebServicesServlet.doPost(WebServicesServlet.java:1131)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
	at com.ibm.ws.webservices.engine.transport.http.WebServicesServletBase.service(WebServicesServletBase.java:344)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
	at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181)
	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864)
	at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
	at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
	at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
	at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1646)
Caused by: com.ibm.db2.jcc.am.SqlException: [jcc][10254][10854][3.69.49] Если используется sendDataAsIs = true, типы параметров должны совпадать с ранее заданными в пакете типами. ERRORCODE=-4474, SQLSTATE=null
	at com.ibm.db2.jcc.am.gd.a(Unknown Source)
	at com.ibm.db2.jcc.am.gd.a(Unknown Source)
	at com.ibm.db2.jcc.am.gd.a(Unknown Source)
	at com.ibm.db2.jcc.am.zo.n(Unknown Source)
	at com.ibm.db2.jcc.am.zo.addBatch(Unknown Source)
	at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.addBatch(WSJdbcPreparedStatement.java:358)
	at sun.reflect.GeneratedMethodAccessor347.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:611)
	at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58)
	at $Proxy85.addBatch(Unknown Source)
	at org.apache.ibatis.executor.statement.CallableStatementHandler.batch(CallableStatementHandler.java:57)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.batch(RoutingStatementHandler.java:62)
	at org.apache.ibatis.executor.BatchExecutor.doUpdate(BatchExecutor.java:69)
	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:108)
	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:75)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:145)
	... 43 more

...
Рейтинг: 0 / 0
14.04.2016, 15:59
    #39215882
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 v.10
ferc,

Добрый день.

IT13166: TO DOCUMENT ALL THE JCC APAR AND DEFECTS SHIPPED WITH DB2 V10.5FP7 RELEASE

Должно быть исправлено вроде в fp7.Type-4 connectivity: A batch of INSERT statements is
submitted where 1) sendDataAsIs property is set to true,
2) one of the target columns is of CHAR type, 3) setNULL (
) api is used to set the CHAR column to null in one of the
batch parameters input and, 4) in another input of batch
parameters for the same CHAR column setObject( ) api is
used to a specify a non-null object value. The execution
of such a batch via executeBatch() api fails with an
SQLException "Parameter types must match that of previous
batched types when using sendDataAsIs = true ERRORCODE=-
4474, SQLSTATE=null". This problem has been fixed.
(RTC 37911)

Попробуйте db2jcc4.jar вместо db2jcc.jar.
...
Рейтинг: 0 / 0
15.04.2016, 08:02
    #39216245
ferc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 v.10
Mark Barinstein,

Подключение в источнике данных прописано по 4-му типу.
...
Рейтинг: 0 / 0
15.04.2016, 08:22
    #39216257
ferc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 v.10
ferc,

Секудночку, я протупил.

На сервере был прописан db2jcc.jar, сейчас прописали db2jcc4.jar.

Посмотрим как будет себя вести.
...
Рейтинг: 0 / 0
15.04.2016, 08:48
    #39216275
ferc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 v.10
Нашлось несколько серверов WAS 6.1

Для db2jcc4.jar нужна java 6.

Тут можно что-нибудь сделать помимо обновленя WAS?
...
Рейтинг: 0 / 0
15.04.2016, 09:44
    #39216317
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 v.10
fercПодключение в источнике данных прописано по 4-му типу.Они оба type-4.
db2jcc4.jar реализует JDBC 4.0
db2jcc.jar - JDBC 3.0
fercДля db2jcc4.jar нужна java 6.
Тут можно что-нибудь сделать помимо обновленя WAS?Открыть PMR в поддержку DB2.
...
Рейтинг: 0 / 0
19.04.2016, 09:50
    #39218793
ferc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 v.10
с db2jcc4.jar ошибка такая же
...
Рейтинг: 0 / 0
20.04.2016, 10:08
    #39219860
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 v.10
ferc,

Попробуйте взять jdbc драйвер от более младшей версии, например, от 10.1
...
Рейтинг: 0 / 0
20.04.2016, 10:16
    #39219873
ferc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 v.10
опытным путем выяснилось что драйвер неправильно работает при передаче ему в пакете минимально возможной даты 0001-01-01-00.00.00.000000000000
...
Рейтинг: 0 / 0
20.04.2016, 14:26
    #39220213
ferc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 v.10
fercопытным путем выяснилось что драйвер неправильно работает при передаче ему в пакете минимально возможной даты 0001-01-01-00.00.00.000000000000

причем даже не так.

Если в пакете сначала вставить другую дату, потом эту 0001-01-01-00.00.00.000000 или наоборот, он считает что типы данных у них разные.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / db2 v.10 / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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