Hibernate + TOMCAT

5 respostas
U

Olá Amigos,

Estou iniciando com o Hibernate e preciso da ajuda de vocês.
Estou tentando inserir dados em uma tabela através de um Servlet, mas quando executo ele recebo a seguinte mensagem:

JDBC Driver class not found: org.firebird.jdbc.FBDriver

Todas as bibliotecas necessárias estão na pasta Tomcatcommomlib e já acesso este BD através de outra aplicação.

Estou utilizando TOMCAT 4.1, BD Firebird 1.5 e o Hibernate 2.0

Agradeço antecipadamente a ajuda de vocês,

Segue arquivo hibernate.cfg.xml:

<hibernate-configuration>

<session-factory>

<property name=“show_sql”>false</property>
<property name=“dialect”>net.sf.hibernate.dialect.InterbaseDialect</property>
<property name=“connection.driver_class”>org.firebird.jdbc.FBDriver</property>
<property name=“connection.url”>jdbc.firebirdsql://localhost:3050//BD/Fin/financeiro.gdb</property>
<property name=“connection.username”>SYSDBA</property>
<property name=“connection.password”>masterkey</property>

<!-- Mapping files -->
<mapping resource=“Banco.hbm.xml”/>

</session-factory>

</hibernate-configuration>

5 Respostas

Daniel_Quirino_Olive

Inclusive o arquivo firebirdsql.jar?
Ahh sim, você já tentou colocar “todas as bibliotecas necessárias” em TOMCAT_HOME/webapps/<minha aplicação>/WEB-INF/lib?

U

Olá Daniel,

Já tentei isso também mas ficou na mesma. O firebirdsql.jar está sim. Eu tenho que colocar alguma coisa no server.xml ou no web.xml ??? pois as minhas configurações de acesso ao banco estão todas no hibernate.cfg.xml .

Grato,

Adriano

Daniel_Quirino_Olive

Eita, que estranho. <clichê>Isso deveria ter funcionado</clichê>.

Até onde eu saiba, não. Mas acredito que o problema não tenha muito a ver com os parâmetros do hibernate.cfg.xml.

U

Consegui resolver colocando as configurações do Driver no server.xml e deixando somente o connection.datasource no hibernate.cfg.xml…

ficou assim:

server.xml

&lt;Context path="/quickstart" docBase="quickstart"
        debug="5" reloadable="true" crossContext="true"&gt;

  &lt;Logger className="org.apache.catalina.logger.FileLogger"
             prefix="localhost_quickstart_log." suffix=".txt"
             timestamp="true"/&gt;

  &lt;Resource name="jdbc/quickstart"
               auth="Container"
               type="javax.sql.DataSource"/&gt;

  &lt;ResourceParams name="jdbc/quickstart"&gt;
    &lt;parameter&gt;
      &lt;name&gt;factory&lt;/name&gt;
      &lt;value&gt;org.apache.commons.dbcp.BasicDataSourceFactory&lt;/value&gt;
    &lt;/parameter&gt;

    &lt;!-- Maximum number of dB connections in pool. Make sure you
         configure your mysqld max_connections large enough to handle
         all of your db connections. Set to 0 for no limit.
         --&gt;
    &lt;parameter&gt;
      &lt;name&gt;maxActive&lt;/name&gt;
      &lt;value&gt;100&lt;/value&gt;
    &lt;/parameter&gt;

    &lt;!-- Maximum number of idle dB connections to retain in pool.
         Set to 0 for no limit.
         --&gt;
    &lt;parameter&gt;
      &lt;name&gt;maxIdle&lt;/name&gt;
      &lt;value&gt;30&lt;/value&gt;
    &lt;/parameter&gt;

    &lt;!-- Maximum time to wait for a dB connection to become available
         in ms, in this example 10 seconds. An Exception is thrown if
         this timeout is exceeded.  Set to -1 to wait indefinitely.
         --&gt;
    &lt;parameter&gt;
      &lt;name&gt;maxWait&lt;/name&gt;
      &lt;value&gt;10000&lt;/value&gt;
    &lt;/parameter&gt;

    &lt;!-- MySQL dB username and password for dB connections  --&gt;
    &lt;parameter&gt;
     &lt;name&gt;username&lt;/name&gt;
     &lt;value&gt;SYSDBA&lt;/value&gt;
    &lt;/parameter&gt;
    &lt;parameter&gt;
     &lt;name&gt;password&lt;/name&gt;
     &lt;value&gt;masterkey&lt;/value&gt;
    &lt;/parameter&gt;

    &lt;!-- Class name for FBDriver JDBC driver --&gt;
    &lt;parameter&gt;
       &lt;name&gt;driverClassName&lt;/name&gt;
       &lt;value&gt;org.firebirdsql.jdbc.FBDriver&lt;/value&gt;
    &lt;/parameter&gt;

    &lt;!-- The JDBC connection url for connecting to your MySQL dB.
         The autoReconnect=true argument to the url makes sure that the
         mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
         connection.  mysqld by default closes idle connections after 8 hours.
         --&gt;
    &lt;parameter&gt;
      &lt;name&gt;url&lt;/name&gt;
      &lt;value&gt;jdbc&#58;firebirdsql&#58;//localhost&#58;3050//BD/Fin/Financeiro.gdb?autoReconnect=true&lt;/value&gt;
    &lt;/parameter&gt;
  &lt;/ResourceParams&gt;
&lt;/Context&gt;

hibernate.cfg.xml

&lt;?xml version='1.0' encoding='utf-8'?&gt;
&lt;!DOCTYPE hibernate-configuration
    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
    "http&#58;//hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"&gt;

&lt;hibernate-configuration&gt;

    &lt;session-factory&gt;

	&lt;property name="connection.datasource"&gt;java&#58;comp/env/jdbc/quickstart&lt;/property&gt;
        &lt;property name="show_sql"&gt;false&lt;/property&gt;
        &lt;property name="dialect"&gt;net.sf.hibernate.dialect.InterbaseDialect&lt;/property&gt;

        &lt;!-- Mapping files --&gt;
        &lt;mapping resource="Banco.hbm.xml"/&gt;

    &lt;/session-factory&gt;

&lt;/hibernate-configuration&gt;
Filipi_Silveira

Adriano, meu server.xml já contém uma série de tags.

  1. Essa tag context deve ir dentro de que tag? :?:
  2. Preciso que o meu data source sirva para várias aplicações e não somente a de uma path específico “/xxxxx”. Sabe como resolver? :?:

Meu server.xml

<?xml version="1.0" encoding="UTF-8"?>
<Server>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
  <GlobalNamingResources>
...

Valeu

Criado 30 de setembro de 2003
Ultima resposta 27 de mar. de 2005
Respostas 5
Participantes 3