Concordo com o Spock. O problema est� no contexto. A primeira solu��o indicada pelo Spock fica mais elegante..... mas nunca v� algum programador utilizar 8^)
-----Original Message----- From: Dr. Spock [mailto:[EMAIL PROTECTED]] Sent: quinta-feira, 9 de janeiro de 2003 17:18 To: [EMAIL PROTECTED] Subject: Re: [enterprise-list] DataSource + Tomcat + Access Caro M�rcio, Ser� necess�rio fazer um primeiro 'lookup' para obter o contexto 'java:comp/env'. Para tal vc pode modificar o seu c�digo para: // Obtain our environment naming context Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); // Look up our data source DataSource ds = (DataSource) envCtx.lookup("jdbc/HelpWFMS"); ou simplesmente modifique a quarta linha do seu trecho de c�digo para: DataSource ds = (DataSource)jndictx.lookup("java:comp/env/jdbc/HelpWFMS"); Devido �s regras de isolamento entre �s aplica��es Web, cada aplica��o Web tem o seu escopo de vari�veis JNDI, que s�o configuradas no arquivo descritor da aplica��o (/WEB-INF/web.xml), contidas no contexto 'java:comp/env'. Todas as chaves <env-entry>, <resource-ref> e <resource-env-ref> s�o, por convens�o, colocados sob o contexto indicado. Para entender pq desta convens�o vc poder� verificar as refer�ncias [1], [2] e [3]. []�s Spock ------------------------------------------------------------------- [1]. JNDI Resources HOW-TO http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-resources-howto.html [2]. JNDI Datasource HOW-TO http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html [3]. J2EE 1.3 Specification (Cap�tulo J2EE.5 - Naming) http://java.sun.com/j2ee/j2ee-1_3-fr-spec.pdf ------------------------------------------------------------------- Tangerini, Marcio wrote: > Pessoal, > > Estou tentando executar o seguinte trecho de c�digo num servlet: > > resp.setContentType("text/html"); > java.io.PrintWriter out = resp.getWriter(); > Context jndictx=new InitialContext(); > DataSource ds=(DataSource)jndictx.lookup("jdbc/HelpWFMS"); > con=ds.getConnection("help","senha"); > stmt=con.createStatement(); > rs=stmt.executeQuery("select * from Users"); > > S� que quando o servlet executa, recebo a seguinte mensagem do Tomcat: > > javax.naming.NameNotFoundException: Name jdbc is not bound in this Context > at org.apache.naming.NamingContext.lookup(NamingContext.java:811) > at org.apache.naming.NamingContext.lookup(NamingContext.java:194) > at > org.apache.naming.SelectorContext.lookup(SelectorContext.java:183) > at javax.naming.InitialContext.lookup(InitialContext.java:347) > at HelpWFMS.DbCacheServlet.doGet(DbCacheServlet.java:50) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServl > et.java:458) > at > org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java > :180) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl > icationFilterChain.java:247) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF > > Meu server.xml t� configurado da seguinte maneira (trecho): > > <Resource name="jdbc/HelpWFMS" auth="SERVLET" > type="javax.sql.DataSource"/> > <ResourceParams name="jdbc/HelpWFMS"> > <parameter><name>username</name><value>help</value></parameter> > <parameter><name>password</name><value>senha</value></parameter> > <parameter><name>driverClassName</name> > <value>sun.jdbc.odbc.JdbcOdbcDriver</value></parameter> > <parameter><name>url</name> > <value>jdbc:odbc:HelpWFMS</value></parameter> > </ResourceParams> > > Meu web.xml: > > <?xml version="1.0" encoding="ISO-8859-1"?> > > <!DOCTYPE web-app > PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" > "http://java.sun.com/dtd/web-app_2_3.dtd"> > > <web-app> > <display-name>Welcome to Tomcat</display-name> > <description> > Welcome to Tomcat > </description> > <resource-ref> > <description>Test Datasource</description> > <res-ref-name>jdbc/HelpWFMS</res-ref-name> > <res-type>javax.sql.DataSource</res-type> > <res-auth>Container</res-auth> > </resource-ref> > </web-app> > > Estou utilizando o Tomcat 4.1.12 com o MS Access como BD. > > Alguma dica ? > > Valeu, > > */Marcio Tangerini/**/ /* > > --------------------------------------------------------------------- Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED] Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED] --------------------------------------------------------------------- Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED] Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
