Hibernate DB2 no Mainframe

0 respostas
M

Boa tarde pessoal

estou com o seguinte problema estou começando um projeto e nele utilizo o hibernate para se conectar ao banco de dados DB2.

quando me conecto no DB2 da baixa, consigo fazer todas as operações de CRUD. Só que o projeto mau saiu do papel e já existe uma mudança, não teremos mais o DB2 na baixa e sim na ALTA(Mainframe). Gostaria de saber se alguém já trabalhou com o hibernate se conectando no Mainframe.

Estou utilizando o arquivo de licença para poder acessar o mainframe.

db2jcc_license_cisuz.jar

Até ai blz eu consigo acessar o banco de dados de boa, mais quando tento fazer alguma funcionalidade do CRUD ele sempre retorna o erro. Será que alguem já passou por isso ou sabe me dizer como resolver o problema? Lembrando que quando eu redireciono para o DB2 da baixa ele funciona normalmente sem nenhum tipo de alteração no código.

Erro

org.hibernate.exception.JDBCConnectionException: could not execute query

StackTrace

org.hibernate.exception.JDBCConnectionException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(Unknown Source)
at org.hibernate.exception.JDBCExceptionHelper.convert(Unknown Source)
at org.hibernate.loader.Loader.doList(Unknown Source)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Unknown Source)
at org.hibernate.loader.Loader.list(Unknown Source)
at org.hibernate.loader.hql.QueryLoader.list(Unknown Source)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(Unknown Source)
at org.hibernate.engine.query.HQLQueryPlan.performList(Unknown Source)
at org.hibernate.impl.SessionImpl.list(Unknown Source)
at org.hibernate.impl.QueryImpl.list(Unknown Source)
at org.hibernate.console.HQLQueryPage.getList(Unknown Source)
at org.hibernate.eclipse.console.views.QueryPageViewer$ContentProviderImpl.getElements(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer.getRawChildren(Unknown Source)
at org.eclipse.jface.viewers.ColumnViewer.getRawChildren(Unknown Source)
at org.eclipse.jface.viewers.AbstractTableViewer.getRawChildren(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(Unknown Source)
at org.eclipse.jface.viewers.AbstractTableViewer.internalRefreshAll(Unknown Source)
at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(Unknown Source)
at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(Unknown Source)
at org.eclipse.jface.viewers.AbstractTableViewer$2.run(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(Unknown Source)
at org.eclipse.jface.viewers.AbstractTableViewer.inputChanged(Unknown Source)
at org.eclipse.jface.viewers.ContentViewer.setInput(Unknown Source)
at org.eclipse.jface.viewers.StructuredViewer.setInput(Unknown Source)
at org.hibernate.eclipse.console.views.QueryPageViewer.createTable(Unknown Source)
at org.hibernate.eclipse.console.views.QueryPageViewer.createControl(Unknown Source)
at org.hibernate.eclipse.console.views.QueryPageViewer.<init>(Unknown Source)
at org.hibernate.eclipse.console.views.QueryPageTabView.rebuild(Unknown Source)
at org.hibernate.eclipse.console.views.QueryPageTabView$1.contentsChanged(Unknown Source)
at org.hibernate.eclipse.console.views.QueryPageTabView$1.intervalAdded(Unknown Source)
at javax.swing.AbstractListModel.fireIntervalAdded(Unknown Source)
at org.hibernate.console.QueryPageModel.add(Unknown Source)
at org.hibernate.console.KnownConfigurations$1.queryPageCreated(Unknown Source)
at org.hibernate.console.ConsoleConfiguration.fireQueryPageCreated(Unknown Source)
at org.hibernate.console.ConsoleConfiguration.access$5(Unknown Source)
at org.hibernate.console.ConsoleConfiguration$4.execute(Unknown Source)
at org.hibernate.console.execution.DefaultExecutionContext.execute(Unknown Source)
at org.hibernate.console.ConsoleConfiguration.executeHQLQuery(Unknown Source)
at org.hibernate.eclipse.hqleditor.HQLEditor.executeQuery(Unknown Source)
at org.hibernate.eclipse.console.actions.ExecuteQueryAction.execute(Unknown Source)
at org.hibernate.eclipse.console.actions.ExecuteQueryAction.run(Unknown Source)
at org.eclipse.jface.action.Action.runWithEvent(Unknown Source)
at org.hibernate.eclipse.console.actions.ExecuteQueryAction.runWithEvent(Unknown Source)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(Unknown Source)
at org.eclipse.jface.action.ActionContributionItem.access$2(Unknown Source)
at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source)
at org.eclipse.ui.internal.Workbench.runUI(Unknown Source)
at org.eclipse.ui.internal.Workbench.access$4(Unknown Source)
at org.eclipse.ui.internal.Workbench$5.run(Unknown Source)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
at org.eclipse.equinox.launcher.Main.run(Unknown Source)
at org.eclipse.equinox.launcher.Main.main(Unknown Source)
Caused by: com.ibm.db2.jcc.a.en: [jcc][t4][2030][11211][3.52.90] Ocorreu um erro de comunicação durante as operações no soquete subjacente da conexão, no fluxo de entrada do soquete
ou no fluxo de saída do soquete.  Local do erro: Reply.fill().  Mensagem: Dados insuficientes. ERRORCODE=-4499, SQLSTATE=08001
at com.ibm.db2.jcc.a.ad.a(Unknown Source)
at com.ibm.db2.jcc.t4.a.a(Unknown Source)
at com.ibm.db2.jcc.t4.ab.b(Unknown Source)
at com.ibm.db2.jcc.t4.ab.c(Unknown Source)
at com.ibm.db2.jcc.t4.ab.c(Unknown Source)
at com.ibm.db2.jcc.t4.ab.v(Unknown Source)
at com.ibm.db2.jcc.t4.db.a(Unknown Source)
at com.ibm.db2.jcc.t4.t.a(Unknown Source)
at com.ibm.db2.jcc.t4.sb.h(Unknown Source)
at com.ibm.db2.jcc.a.rl.Y(Unknown Source)
at com.ibm.db2.jcc.a.sl.bc(Unknown Source)
at com.ibm.db2.jcc.a.sl.e(Unknown Source)
at com.ibm.db2.jcc.a.sl.Ob(Unknown Source)
at com.ibm.db2.jcc.a.sl.executeQuery(Unknown Source)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(Unknown Source)
at org.hibernate.loader.Loader.getResultSet(Unknown Source)
at org.hibernate.loader.Loader.doQuery(Unknown Source)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Unknown Source)
... 71 more

Segue o hibernate.cfg.xml

<hibernate-configuration>
  <session-factory>
  	<!-- INICIO DO DESENVOLVIMENTO -->
	  	<!-- Conexao com o banco de dados -->
	    <property name="hibernate.dialect">org.hibernate.dialect.DB2Dialect</property>	    									
	    <property name="hibernate.connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>	    
	    <property name="hibernate.connection.url">jdbc:db2://xx.xx.x.x:446/xxxx</property>
		<property name="hibernate.connection.username">xxxx</property>
	    <property name="hibernate.connection.password">xxxx</property>	    
		<!-- Condiguração do c3p0 -->
		<property name="hibernate.c3p0.min_size">1</property>
		<property name="hibernate.c3p0.max_size">1</property>		
		<property name="hibernate.c3p0.timeout">180</property>
		<property name="hibernate.c3p0.maxIdleTime">300</property>
		<property name="hibernate.c3p0.idle_test_period">100</property>
		<property name="hibernate.c3p0.max_statements">10</property>
		<property name="hibernate.c3p0.acquire_increment">2</property>
		<!-- Configurações de debug -->
		<property name="show_sql">true</property>
		<property name="hibernate.generate_statistics">true</property>
		<property name="hibernate.use_sql_comments">true</property>
	    <!-- Mapeamento da classes -->
	    <mapping resource="segmentoAtuacao_DB2.hbm.xml"/>
	    <mapping resource="regiaoAtendimento_DB2.hbm.xml"/>
    <!-- FIM DO DESENVOLVIMENTO -->
  </session-factory>

E o código para trazer uma lista.

public static List listaRegiaoAtendimento() throws Exception {
		ControlAccess.registrarDebug("RegiaoAtendimentoDAO", "Inicio do metodo listaRegiaoAtendimento.");
		
		Session sessao = HibernateUtility.getSessionDb2();
		Transaction transaction = sessao.beginTransaction();
		
		List listaRegiaoAtendimento = new ArrayList();
		
		try {
			listaRegiaoAtendimento = sessao.createCriteria(RegiaoAtendimentoVO.class).addOrder(Order.asc("TAB015A_CADU_REGIAOID")).list();
		}catch (Exception e){
			throw new SystemException(e, "RegiaoAtendimentoDAO");
		}finally{
			transaction.commit();
			sessao.close();
		}
		return listaRegiaoAtendimento;
	}

Agradeço com antecedência

Criado 16 de dezembro de 2009
Respostas 0
Participantes 1