Hi Thank you very much, i changed the parameter in SqlMapConfig.xml to java:/comp/env/jdbc/AS400B and it works now I wish this was documented some where in ibatis, or it is and i have never read it
Ashish On 9/27/07, Christopher Lamey <[EMAIL PROTECTED]> wrote: > > I think the use of the Resource element in the server.xml is the same as > using the resource-ref element in the web.xml. From the docs: > > <Resource> - Configure the name and data type of a resource made > available to the application (equivalent to the inclusion of a > <resource-ref> element in the web application deployment descriptor). > > So you can probably remove that from your web.xml. > > As for the exception you're getting, you might need to use the full JNDI > name in iBATIS: > > java:/comp/env/jdbc/AS400B > > If I remember correctly, Tomcat automatically prepends the > "java:/comp/env/" > bit to declared JNDI resources. > > Cheers, > Chris > > On 9/27/07 9:32 AM, "Ashish Kulkarni" <[EMAIL PROTECTED]> wrote: > > > Hi > > This is what i have done, > > in my server.xml file i have added in host element > > <Context path="/approvals6302" docBase="c:\\approvals6302\\" debug="5" > > reloadable="true" crossContext="true"> > > <Resource name="jdbc/AS400B" type="javax.sql.DataSource" > password="password" > > driverClassName="com.ibm.as400.access.AS400JDBCDriver" maxIdle="2" > > maxWait="5000" validationQuery="select * from PODATA" username="userid" > > url="jdbc:as400:AS400B/RPTSTEXTDB;naming=system;date format=iso;time > > format=hms;prompt=false" maxActive="4" /> > > </Context> > > > > Then in web.xml i have added > > <resource-ref> > > <description>DB Connection</description> > > <res-ref-name>jdbc/AS400B</res-ref-name> > > <res-type>javax.sql.DataSource</res-type> > > <res-auth>Container</res-auth> > > </resource-ref> > > > > and in SqlMapConfig.xml i have added > > <transactionManager type="JDBC"> > > <dataSource type="JNDI"> > > <property name="DataSource" value="jdbc/AS400B"/> > > </dataSource> > > </transactionManager> > > > > When i start tomcat i get the following error > > com.ibatis.sqlmap.client.SqlMapException: There was an error configuring > > JndiDataSourceDaoTransactionPool. Cause: > javax.naming.NameNotFoundException: > > Name jdbc is not bound in this Context > > > > > > > > > > > > > > > > On 9/27/07, Christopher Lamey <[EMAIL PROTECTED]> wrote: > >> > >> Hello, > >> > >> You then need to add a ResourceLink either in conf/context.xml or in > the > >> webapp's specific context file (if you're using one). > >> > >> I don't know what version of Tomcat you're using, but here are the JNDI > >> docs > >> for 5.5: > >> > >> http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html > >> > >> PS: I think you can add a resource-env-ref to your webapp's web.xml to > >> link > >> to the global JNDI resource too, but I usually go with the ResourceLink > in > >> the context files to avoid mucking with web.xml. > >> > >> Cheers, > >> Chris > >> > >> On 9/27/07 7:58 AM, "Ashish Kulkarni" <[EMAIL PROTECTED]> > wrote: > >> > >>> Hi > >>> I am using tomcat application server, and using the Administator > >> application > >>> i added JNDI for my database, i found that it had added following > entry > >> in > >>> server.xml file > >>> > >>> <Resource > >>> name="AS400B" > >>> type="javax.sql.DataSource" > >>> password="password" > >>> driverClassName="com.ibm.as400.access.AS400JDBCDriver" > >>> maxIdle="2" > >>> maxWait="5000" > >>> validationQuery="select * from PODATA" > >>> username="userid" > >>> url="jdbc:as400:AS400B/RPTSTEXTDB;naming=system;date format=iso;time > >>> format=hms;prompt=false" > >>> maxActive="4"/> > >>> > >>> > >>> On 9/26/07, Richard Yee <[EMAIL PROTECTED]> wrote: > >>>> > >>>> You need to set up the connection pool in your application server > >>>> configuration. What AppServer are you using? > >>>> > >>>> -Richard > >>>> > >>>> Ashish Kulkarni wrote: > >>>>> Hi > >>>>> I did modify this to look like below > >>>>> <transactionManager type="JDBC"> > >>>>> <dataSource type="JNDI"> > >>>>> <property name="DataSource" value="AS400B"/> > >>>>> </dataSource> > >>>>> </transactionManager> > >>>>> > >>>>> But i get following error in tomcat, I have created a data sourse > >>>>> AS400B in tomcat > >>>>> > >>>>> Caused by: javax.naming.NameNotFoundException: Name AS400B is not > >>>>> bound in this Context > >>>>> at > >>>>> com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse( > >>>> SqlMapConfigParser.java:81) > >>>>> at > >>>>> com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient( > >>>> SqlMapClientBuilder.java:62) > >>>>> at com.pfizer.maps.data.GetSQLConfigForWeb.getSqlMapInstance > >>>>> (GetSQLConfigForWeb.java:49) > >>>>> at > >>>>> com.pfizer.maps.servlet.Log4JInitServlet.init(Log4JInitServlet.java > >> :104) > >>>>> at > >>>>> org.apache.catalina.core.StandardWrapper.loadServlet( > >>>> StandardWrapper.java:1105) > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> On 9/26/07, *Ashish Kulkarni* <[EMAIL PROTECTED] > >>>>> <mailto:[EMAIL PROTECTED]>> wrote: > >>>>> > >>>>> Hi > >>>>> Is there any example of setting up ibatis to use JNDI as data > >>>> source, > >>>>> I have the following, how do i change it to use JNDI > >>>>> > >>>>> <properties resource="SqlMapConfigAS400.properties" /> > >>>>> <transactionManager type="JDBC"> > >>>>> <dataSource type="SIMPLE"> > >>>>> <property name="JDBC.Driver" value="${driver}" /> > >>>>> > >>>>> <property name="JDBC.ConnectionURL" value="${url}" /> > >>>>> > >>>>> <property name="JDBC.Username" value="${username}" /> > >>>>> > >>>>> <property name="JDBC.Password" value="${password}" /> > >>>>> </dataSource> > >>>>> </transactionManager> > >>>>> > >>>>> And i have SqlMapConfigAS400.properties where i have > >>>>> driver=com.ibm.as400.access.AS400JDBCDriver > >>>>> > >>>>> url=jdbc:as400:AS400B/RPTSTEXTDB;naming=system;date > >>>>> format=iso;time format=hms;prompt=false > >>>>> > >>>>> username=user > >>>>> > >>>>> password=password > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>> > >>>> > >> > >> > >
