DataSource - Erro no JNDI

Estou com um probleminha aqui, tenho um DataSource configurado no Tomcat, configurei tudo pelo admin, e já dei uma olhada no web.xml e server.xml me parece tudo correto.

Tenho também um classe “HelperBD” que eu criei pra controlar as operações com o Banco de Dados, o construtor desta classe é o seguinte:

  public HelperBD() throws Exception {

        try {
            InitialContext ic = new InitialContext();
            Context envCtx = (Context)ic.lookup("java:comp/env");
            DataSource ds = (DataSource)envCtx.lookup("jdbc/PoliciaBD");
            con =  ds.getConnection();
        }
        catch (Exception ex) {
            throw new Exception("Não foi possível estabelecer uma conexão com o BD: " + ex.getMessage());
        }
    }

A problema é que quando chamo essa classe recebo o seguinte erro:

Name jdbc is not bound in this Context

Tenho certeza que o procedimento esta correto, mas parece que o JNDI não esta registrando o nome, ou não esta encontrando.

OBS: Já troquei o SGBD e o Container Servlet e o erro perssiste em todos

Alguem já passou por isso ???

Cara olha o tutorial no site do Jakarta, ele funcionou aki por causa do Tutorial ele é muito bom mesmo.

Se me lembro bem são 2 partes uma no server.xml e outra dentro do seu web.xml

cara, desculpa fazer vc pensar q essa era uma msg para te ajudar, mas é só paga dizer q estou exatamente com o mesmo problema, exatamente mesmo, mesma menssagem de erro. caso vc consiga me envie um email, vou estar pesquisando tb, qualquer coisa te falo.

ps.: uso Jbuilder 8

meu email é fabiostb2@hotmail.com

olá bom dia

cara eu jah tive um problema
parecido

oq tava de errado comigo era apenas o drive
que eu tinha pra conexão com o banco de dados
que não estava funcionando
e por isso tudo q eu fazia de operação no banco de dados

retornava essa mensage q tu colocou ai

Name jdbc is not bound in this Context

jah verificou o seu drive quem sabe seja soh isso :wink:

[]'s
Erko Bridee

No meu caso dá essa msg de erro quando eu rodo via JBuilder 8.0, mas quando rodo via broser dá beleza

ops

ah eskeci de um detalhe no caso quando vc trabalha com IDE’s
tem o pequeno detalhe

por exemplo no netbeans
os drives de conexão com DB
eu preciso jogar dentro de uma pasta ex.: /libs/ext

para poder funcionar tem que jogar o drive dentro
da pasta de libs do IDE

no caso do JBuilder como usei pouco
não lembro da estrutura de pastas dele
mas deve ter algo parecido

da uma verificada nisso :wink:

[]'s
Erko Bridee

tente dar um lookup no DS chamando direto o java:/comp/env/jdbc/PoliciaDB … ou se quiser, posta o trexo do DS no xml ai pra gente…

é no server.xml:

<DefaultContext>
<Resource name=“jdbc/StrutsDemoDS” auth=“Container” type=“javax.sql.DataSource” scope=“Shareable”/>
<ResourceParams name=“jdbc/StrutsDemoDS”>
<parameter><name>factory</name><value>org.apache.commons.dbcp.BasicDataSourceFactory</value></parameter>
<parameter><name>driverClassName</name><value>sun.jdbc.odbc.JdbcOdbcDriver</value></parameter>
<parameter><name>url</name><value>jdbc:odbc:blank</value></parameter>
<parameter><name>username</name><value>sa</value></parameter>
<parameter><name>password</name><value>sa</value></parameter>
<parameter><name>maxActive</name><value>20</value></parameter>
<parameter><name>maxIdle</name><value>10</value></parameter>
<parameter><name>maxWait</name><value>100</value></parameter>
</ResourceParams>
</DefaultContext>

tenta assim:

InitialContext ic = new InitialContext&#40;&#41;; DataSource dataSource = &#40;DataSource&#41; ic.lookup&#40;&quot;java&#58;comp/env/jdbc/StrutsDemoDS&quot;&#41;;

fiz exatamente assim, só que só dá certo quando executo por fora do jbuilder, quando tento executar de dentro da pau

o eclipse tem um conteiner embutido como o jbuilder (tomcat)?

vc adicionou o drive pra conexão com seu DB
em algum lugar dentro do diretório do JBuilder?

:roll:

ele tem o jdk interno?
…\lib\ext

:roll:

tomcat interno?
…\common\lib

nesses locais que eu tava me referindo quanto ao drive
q tu tem q colocar pra ele reconhecer…

jah tentou algo assim? :wink:

[]'s
Erko Bridee

no meu caso , quando vou tentar obter a conexao (dataSource.getConnection()). o tom cat congela (isso mesmo, fica parado, não faz nada…) e não dá exception nenhuma… estou usando uma ponte odbc com sql server… algum problema qto a isso?