3
respostas

Java e JDBC: É possível via JPA Persistence se conectar com banco de dados DB2?

Estou com dúvida se via JPA Persistence consigo me conectar ao DB2 para fazer apenas select, na verdade não se essa seria a melhor forma de se comunicar com o DB2

3 respostas

Oi Rafael

Especificamente para o db2 nunca tive que fazer essa conexão, mas é para ser possível sim. Você está tendo algum problema?

Sim, preenchi o persistence.xml do mesmo jeito que estava conectando com sucesso para o mySql.

<persistence-unit name="CRDDB001">

       <provider>org.hibernate.ejb.HibernatePersistence</provider>

    <class>br.gov.caixa.sicrd.model.Crdtbc02</class>
    <class>br.gov.caixa.sicrd.model.Crdtbc08</class>

    <properties>
    <!--<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
        <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/crd?autoReconnect=true" />
        <property name="javax.persistence.jdbc.user" value="root" />
        <property name="javax.persistence.jdbc.password" value="@Maranata01" />

        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" /> -->

        <property name="javax.persistence.jdbc.driver" value="com.ibm.db2.jcc.DB2Driver" />
        <property name="javax.persistence.jdbc.url" value="jdbc:db2://url?autoReconnect=true" />
        <property name="javax.persistence.jdbc.user" value="user" />

        <property name="hibernate.dialect" value="org.hibernate.dialect.DB2Dialect" />
        <property name="hibernate.show_sql" value="true" />
        <property name="hibernate.format_sql" value="true"/>

    </properties>
</persistence-unit>

Esse é o erro

java.lang.NoClassDefFoundError: sun/io/UnknownCharacterException: javax.faces.FacesException:

Caused by: javax.persistence.PersistenceException: [PersistenceUnit: CRDDB001] Unable to build EntityManagerFactory Caused by: org.hibernate.service.classloading.spi.ClassLoadingException: Specified JDBC Driver com.ibm.db2.jcc.DB2Driver could not be loaded Caused by: org.hibernate.service.classloading.spi.ClassLoadingException: Unable to load class [com.ibm.db2.jcc.DB2Driver] Caused by: java.lang.ClassNotFoundException: Could not load requested class : com.ibm.db2.jcc.DB2Driver