Caro Marcio,

Acredito que a configura��o de banco de dados referente ao nome 'jdbc/HelpWFMS' n�o est� completa no Tomcat. O arquivo 'server.xml' foi devidamente configurado para ter o recurso (resource) 'jdbc/HelpWFMS'? O arquivo 'server.xml' deve ter pelo menos as seguintes linhas:

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

<ResourceParams name="jdbc/HelpWFMS">
<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:HelpWFMS</value>
</parameter>
<parameter>
<name>username</name>
<value>scott</value>
</parameter>
<parameter>
<name>password</name>
<value>tiger</value>
</parameter>
</ResourceParams>

� necess�rio ter a defini��o de um 'factory' para o objeto desejado. Ou seja, precisamos definir um 'factory' para criar inst�ncias de 'datasources'. Veja o par�metro 'factory'. O grupo Jakarta tem uma implementa��o de 'Pool' de banco de dados que pode ser utilizado como 'factory' atrav�s da classe 'BasicDataSourceFactory' contido no pacote 'org.apache.commons.dbcp.'. Veja a refer�ncia [1].

Para maiores detalhes sobre as configura��es dos recursos de banco de dados no Tomcat veja o how-to na refer�ncia [2]. Outras dicas podem ser obtidas nas referencias abaixo.
[]�s

Spock

--------------------------------------------------------------------
[1]. Jakarta Commons Database Connection Pool
http://jakarta.apache.org/commons/dbcp/api/index.html

[2]. JNDI Datasource HOW-TO
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html

[3]. JNDI Overview, Part 1: An introduction to naming service
http://www.javaworld.com/javaworld/jw-01-2000/jw-01-howto_p.html

[4]. JNDI overview, Part 2: An introduction to directory services
http://www.javaworld.com/javaworld/jw-02-2000/jw-02-howto_p.html

[5]. JNDI overview, Part 3: Advanced JNDI
http://www.javaworld.com/javaworld/jw-03-2000/jw-03-howto_p.html

[6]. JNDI overview, Part 4: the Doc-u-Matic, a JNDI application
http://www.javaworld.com/javaworld/jw-03-2000/jw-0331-howto_p.html

[7]. The JNDI Tutorial. Building Directory-Enabled Java Applications.
http://java.sun.com/products/jndi/tutorial/
--------------------------------------------------------------------

Tangerini, Marcio wrote:
Valeu pela dica, tentei pelas duas maneiras, s� que agora t� tomando o
seguinte erro:

10/01/2003 11:31:10 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on port 80
10/01/2003 11:31:10 org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on tcp port 8009
10/01/2003 11:31:10 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=16/15
config=D:\jakarta-tomcat-4.1.12-LE-jdk14\bin\.
.\conf\jk2.properties
javax.naming.NamingException: Cannot create resource instance
at
org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceF
actory.java:189)
at
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:3
01)
at org.apache.naming.NamingContext.lookup(NamingContext.java:834)
at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
at org.apache.naming.NamingContext.lookup(NamingContext.java:194)
at DbCacheServlet.doGet(DbCacheServlet.java:52)
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)


Algo mais a fazer ?

Valeu,
Marcio Tangerini

-----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-how
to.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]





---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]

Responder a