Conexao usando JNDI

2 respostas
M

Pessoal,

Ja tive esse problema e nao consegui resolver…estou com o mesmo…se alguem tiver um exemplo de como se conectar utilizando servlets a um bd utilizando jndi, eu ja vi o do portal, mas o que preciso colocar no server.xml ou web.xml, enfim eu precisaria de um exemplo completo…

To pedindo bastante…mas nao consegui ainda entender o conceito de conexao com JNDI

Obrigado!!!

2 Respostas

M

não tem o pq de usar JNDI pra se conectar a um banco… :roll: , mas pode ser usado pra isso tb… o JNDI é uma API pra tu acessar serviços de diretórios, como LDAP, porém, é mais usado pra procurar referências a objetos na rede, bindados ao próprio JNDI do servidor de aplicações… como referências a EJBs…

M

ok obrigado…so que eu nao tenho escolha estou fazendo manutencao em um codigo…olha como eu estou tentando fazer:

try{
                        InitialContext ic = new InitialContext();
                        javax.naming.Context jnc = (javax.naming.Context) ic.lookup("java:comp/env");
                        source = (DataSource) jnc.lookup("jdbc/posg");

                }
                catch(NamingException ex){
                        System.err.println(ex);
                }

                try{
                        ResultSet rst=statement.executeQuery("SELEC * FROM borrarc");
}
                catch(SQLException exsql){
                        System.out.println(exsql);

                }

e server.xml esta assim

<Resource name="jdbc/posg" auth="Container" type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/posg">
  <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
  </parameter>
  <parameter>
    <name>driverClassName</name>
    <value>org.postgresql.Driver</value>
  </parameter>
  <parameter>
    <name>url</name>
    <value>jdbc:postgresql://127.0.0.1:5432/meubco</value>
  </parameter>
  <parameter>
    <name>username</name>
    <value>postgres</value>
  </parameter>
  <parameter>
    <name>maxActive</name>
    <value>20</value>
  </parameter>
  <parameter>
    <name>maxIdle</name>
    <value>10</value>
  </parameter>
  <parameter>
    <name>maxWait</name>
    <value>500</value>
  </parameter>
</ResourceParams>

esta levantando execacao na linha

ResultSet rst=statement.executeQuery("SELEC * FROM borrarc");

Se alguem souber como resolver???

Valeu!!!

Criado 29 de dezembro de 2004
Ultima resposta 29 de dez. de 2004
Respostas 2
Participantes 2