Sorry, I sent this so many times.  Hopefully, I have all of the typos
out of it this time...

 

I have specified the following as myapp.xml in the
conf\Catalina\locahost directory:

 

<Context path="/myapp">

 

            <Resource name="jdbc/MyDB" auth="Container"

                        type="javax.sql.DataSource" 

                        username="user" password="pswd"

 
driverClassName="net.sourceforge.jtds.jdbc.Driver"

 
url="jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=MyDB;SelectMethod
=cursor"

                        maxActive="30" maxIdle="20" minIdle="10"
maxWait="20000" />

            <Realm className="org.apache.catalina.realm.DataSourceRealm"
debug="99"

                        dataSourceName="jdbc/MyDB"

                        userTable="zUsers" userNameCol="zUserName"
userCredCol="zPassword"

                        userRoleTable="wsViewRoles" roleNameCol="zRole"
/>

</Context>

 

In my web.xml file I have:

 

  <resource-ref>

            <res-ref-name>jdbc/MyDB</res-ref-name>

            <res-type>javax.sql.DataSource</res-type>

            <res-auth>Container</res-auth>

  </resource-ref>

 

But, when I execute the code

 

            DataSource ds = null;

            try 

            {

                        Context initCtx = new InitialContext();

                        Context envCtx = (Context)
initCtx.lookup("java:comp/env");

                       ds = (DataSource) envCtx.lookup("jdbc/MyDB");

            } 

            catch (NamingException e) 

            {

                        _log.error("Unable to retrieve MyDB DataSource",
e);

                        ds = null;

            }

 

The exception is caught and I get an error message which says
"javax.naming.NamingException: Name is not bound to a Context".  I
verified that the name in the <Resource>,  <resource-ref> and the
context lookup are the same.

 

I suspect I understand the message.  I just don't know what I've done
wrong.  Any suggestions?

 

Scott

 

 

 

Reply via email to