Ol� pessoal,
Meu bean BMP tem 36 atributos, todos eles s�o campos de uma tabela. Qdo
executo o ejbStore, e ele faz os sets no PreparedStatement para inserir no
banco, d� erro. Quando diminuo esses campos para 32, ela d� certo. A partir
de 33, j� da erro. As vezes, (com 33 campos no PreparedStatement ) consigo
executar ele normalmente na primeira vez, a partir da segunda, ele da erro.
No ejbCreate, seto os mesmos 36 atributos e n�o d� erro. Segue abaixo o meu
m�todo ejbStore e os dados da exce��o, se alguem puder me ajudar..
agrade�o...
Marcus
// ******** M�todo ejbStore ********
public void ejbStore() {
Connection conn = null;
try{
conn = Conexao.getConnection();
AcidenteKey key = (AcidenteKey)ctx.getPrimaryKey();
PreparedStatement stmt = conn.prepareStatement
("exec sp_smat_gravar_acidentes
?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?");//,?,?,?
stmt.clearParameters();
stmt.setInt(1,key.acidente);
if(area == null)
stmt.setNull(2,Types.INTEGER);
else
stmt.setInt(2,area.area);
if(vinculoEmpregaticio == null)
stmt.setNull(3,Types.INTEGER);
else
stmt.setInt(3,vinculoEmpregaticio.vinculoEmpregaticio);
if(ocupacao == null)
stmt.setNull(4,Types.INTEGER);
else
stmt.setInt(4,ocupacao.ocupacao);
if(localAtendimento == null)
stmt.setNull(5,Types.INTEGER);
else
stmt.setInt(5,localAtendimento.localAtendimento);
if(empregador == null)
stmt.setNull(6,Types.INTEGER);
else
stmt.setInt(6,empregador.empregador);
if(medico == null)
stmt.setNull(7,Types.INTEGER);
else
stmt.setInt(7,medico.medico);
if(diagnostico == null)
stmt.setNull(8,Types.INTEGER);
else
stmt.setInt(8,diagnostico.diagnostico);
if(fonte == null)
stmt.setNull(9,Types.INTEGER);
else
stmt.setInt(9,fonte.fonte);
if(agenteCausador == null)
stmt.setNull(10,Types.INTEGER);
else
stmt.setInt(10,agenteCausador.agenteCausador);
if(tipoLocalAcidente == null)
stmt.setNull(11,Types.INTEGER);
else
stmt.setInt(11,tipoLocalAcidente.tipoLocalAcidente);
if(trabalhador == null)
stmt.setNull(12,Types.INTEGER);
else
stmt.setInt(12,trabalhador.trabalhador);
if(empregadorTerceiro == null)
stmt.setNull(13,Types.INTEGER);
else
stmt.setInt(13,empregadorTerceiro.empregador);
if(tipoAcidente == null)
stmt.setNull(14,Types.INTEGER);
else
stmt.setInt(14,tipoAcidente.tipoAcidente);
if(emitente == null)
stmt.setNull(15,Types.INTEGER);
else
stmt.setInt(15,emitente.emitente);
if(municipio == null)
stmt.setNull(16,Types.INTEGER);
else
stmt.setInt(16,municipio.municipio);
stmt.setString(17,converteData(dataAcidente));
stmt.setString(18,registroPolicial);
stmt.setString(19,amputacao);
stmt.setString(20,obito);
stmt.setInt(21,horasTrabalhadas);
stmt.setString(22,descLocalAcidente);
stmt.setString(23,numDocFonte);
stmt.setString(24,converteData(dataEmissaoFonte));
stmt.setString(25,naturezaLesao);
stmt.setString(26,converteData(dataHoraDiagnostico));
stmt.setString(27,afastamento);
stmt.setString(28,internacao);
stmt.setString(29,observacaoDiagnostico);
stmt.setInt(30,duracaoTratamento);
stmt.setString(31,aposentado);
stmt.setFloat(32,remuneracao);//se setar at� aqui, nao da erro
stmt.setString(33,distritoSaude);//A partir daqui j� da erro.
//stmt.setString(34,converteData(ultimaTrabalhado));
//System.out.println("ejbStore => Antes 9");
//stmt.setString(35,descricaoSituacaoGeradora);
//stmt.setString(36,descricaoDiagnostico);
int rs = stmt.executeUpdate();
if(rs != 1){
throw new EJBException("Erro "+rs);
}
}
catch(SQLException e){
e.printStackTrace();
}
finally{
try{
conn.close();
}
catch(SQLException e){}
}
}
//********** Dados da exce��o ************
[01/06/03 20:55:20:638 GMT-03:00] 8ad637e ExceptionUtil E CNTR0021E:
Ocorreu uma exce��o que n�o � do aplicativo no bean
"BeanId(smat#smatEJB.jar#Acidente,
[EMAIL PROTECTED])": Dados da exce��o:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java(Inlined Compiled Code))
at java.util.ArrayList.set(ArrayList.java(Compiled Code))
at
com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.countParameter(WSJdbcPrepa
redStatement.java(Compiled Code))
at
com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.setString(WSJdbcPreparedSt
atement.java:1206)
at br.smat.ejb.acidente.AcidenteBean.ejbStore(AcidenteBean.java:922)
at com.ibm.ejs.container.BeanManagedBeanO.store(BeanManagedBeanO.java:200)
at
com.ibm.ejs.container.EntityBeanO.beforeCompletion(EntityBeanO.java:1032)
at com.ibm.ejs.container.ContainerTx.beforeCompletion(ContainerTx.java:489)
at com.ibm.ejs.util.tran.SyncDriver.beforeCompletion(SyncDriver.java:226)
at
com.ibm.ejs.jts.jta.TransactionImpl$SyncronizationWrapper.before_completion(
TransactionImpl.java:1233)
at
com.ibm.ejs.jts.jts.CoordinatorImpl$Sync.beforePrepare(CoordinatorImpl.java:
1162)
at
com.ibm.ejs.jts.tran.EventCallback.executeCallback(EventCallback.java:166)
at
com.ibm.ejs.jts.tran.EventCallback.executeCallbackTree(EventCallback.java:13
2)
at
com.ibm.ejs.jts.tran.EventPrepare.ExecuteBeforePrepareCallbacks(EventPrepare
.java:307)
at
com.ibm.ejs.jts.tran.EventPrepare.event_LocalPrepareWork(EventPrepare.java:2
87)
at
com.ibm.ejs.jts.tran.EventPrepare.event_BecomeCoordinator(EventPrepare.java:
970)
at
com.ibm.ejs.jts.tran.EventControl.event_EndTopLevel(EventControl.java:295)
at com.ibm.ejs.jts.tran.TrecInterface.end(TrecInterface.java:89)
at com.ibm.ejs.jts.jts.TerminatorImpl.commit(TerminatorImpl.java:104)
at com.ibm.ejs.jts.jts.CurrentImpl.commit(CurrentImpl.java:248)
at com.ibm.ejs.jts.jts.CurrentSet.commit(CurrentSet.java:316)
at com.ibm.ejs.csi.TranStrategy.commit(TranStrategy.java:540)
at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:128)
at
com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.jav
a:531)
at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:2801)
at
br.smat.ejb.acidente.EJSLocalBMPAcidente_d1942e0c.getAcidente(EJSLocalBMPAci
dente_d1942e0c.java:516)
at java.lang.reflect.Method.invoke(Native Method)
at
com.ibm.etools.utc.model.ReflectionMethodModel.invoke(ReflectionMethodModel.
java:68)
at com.ibm.etools.utc.servlet.InvokeServlet.invoke(InvokeServlet.java:110)
at com.ibm.etools.utc.servlet.InvokeServlet.doPost(InvokeServlet.java:323)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServle
tInstance.java:110)
at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecy
cleServlet.java:174)
at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServ
let.java:313)
at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecyc
leServlet.java:116)
at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java
:258)
at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidSer
vletReferenceState.java:42)
at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletIns
tanceReference.java:40)
at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(
WebAppRequestDispatcher.java:872)
at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppReques
tDispatcher.java(Compiled Code))
at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequest
Dispatcher.java:173)
at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79)
at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker
.java:199)
at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(C
achedInvocation.java:71)
at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletReq
uestProcessor.java:182)
at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListene
r.java:331)
at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.jav
a:56)
at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:432)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:343)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:592)
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]