Hi Martin, thanks for help. I have tried your suggestion and it works fine - I am able to get OracleConnection. (I had to change String c_sUserNameKey="username"; to String c_sUserNameKey="user";)
It works for common Connection, but I need OracleConnection interface. jdbc configuration: <Resource name="sisPool" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" username="USER_51319" password="USER_51319" driverClassName="oracle.jdbc.driver.OracleDriver" or driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.100.119:1521:orcl" maxActive="20" maxIdle="10" maxwait="-1"/> But the datasource is not found if I use this configuration: <Resource name="sisPool" auth="Container" type="oracle.jdbc.pool.OracleDataSource" factory="oracle.jdbc.pool.OracleDataSourceFactory" username="ISMART_USER_51319" password="ISMART_USER_51319" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@192.168.100.119:1521:orcl" maxActive="20" maxIdle="10" maxwait="-1"/> I have found in dbcp configuration other way to get inner connection: Connection conn = ds.getConnection(); Connection dconn = ((DelegatingConnection) conn).getInnermostDelegate(); but when I get connection from Tomcat it doesn't implement DelegatingConnection interface. initContext = new InitialContext(); envContext = (Context)initContext.lookup("java:/comp/env"); DataSource ds = (DataSource) ctxt.lookup(poolName); conn = ds.getConnection(); I am not able to find any way how to get OracleConnection instead Connection. Do you have any idea? Thanks. Regards, Zdenek On 5/13/07, Martin Gainty <[EMAIL PROTECTED]> wrote:
make sure the driver is ok first e.g. import java.sql.*; Properties props = new Properties(); String c_sUserNameKey="username"; String c_sPasswordKey="password"; String c_sDBURL ="jdbc:oracle:thin:@"; String c_sDriverName ="oracle.jdbc.driver.OracleDriver"; //Instantiate driver Driver c_Driver=null; try { c_Driver = (Driver)Class.forName( c_sDriverName ).newInstance(); } catch(SQLException sqle) { System.out.println("Cannot instantiate driver ..is it right version..is it on classpath?"); return; } //make sure Oracle listenet is operational (netstat -a | grep 1521) //make SURE Oracle DB is up and listening (tnsping SID) returns successful //make sure you acquire the username/password to establish connection to oracle db //place username,password into properties props.put( c_sUserNameKey, c_sDBUser ); props.put( c_sPasswordKey, c_sDBPassword ); //Get a connection try { Connection = c_Driver.connect( c_sDBURL, props ); } catch ( SQLException sqlex ) { System.out.println( "Error connecting to database", sqlex ); return; } //should get you started.. M-- This email message and any files transmitted with it contain confidential information intended only for the person(s) to whom this email message is addressed. If you have received this email message in error, please notify the sender immediately by telephone or email and destroy the original message without making a copy. Thank you. ----- Original Message ----- From: "Rashmi Rubdi" <[EMAIL PROTECTED]> To: "Tomcat Users List" <users@tomcat.apache.org> Sent: Sunday, May 13, 2007 3:23 PM Subject: Re: Oracle JDBC connection Tomcat 5.5 > On 5/12/07, Zdeněk Vráblík <[EMAIL PROTECTED]> wrote: >> Hi Rashmi, >> >> thans for reply. >> >> Configuration that is described in link you sent me works fine. >> Problem is when I change >> the datasource factory to Oracle datasource factory. Than is not >> possible to find this datasource through JNDI lookup and this >> connection disappear from admin console. >> I think that ojdbc14.jar is newer version of oracle drivers and it > > You are right, sorry you don't need classes12.jar in this case please > ignore my previous post. > > I also happen to have oracle 10g, in order to answer your question, I > was trying to see if I could set up a connection pool and then try to > get OracleConnection instead of SQL Connection, I tried for almost 1/2 > a day so far, to get things set up but got an error > "java.sql.SQLException: No more data to read from socket" that is > taking too long to figure out, even after searching for answers on the > Internet. I have other things to do :-) so I will give up on this for > now. > > Anyway, there's some more instructions here : > http://www.oracle.com/technology/sample_code/tech/java/oc4j/htdocs/jdbc_in_j2ee/jdbc_in_j2ee.html > > the above instructions are written for Oracle9iAS Container and not > Tomcat, however they demonstrate how to obtain OracleConnection ---- > may be you'll find some useful information there unless someone on > this list has a solution. > > You may also want to check with Oracle's Technology Forums. > >> works fine with standard datasource factory >> org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory and >> javax.sql.DataSource. It stops work when I use oracle datasource >> factory >> factory="oracle.jdbc.pool.OracleDataSourceFactory" and datasource type >> type="oracle.jdbc.pool.OracleDataSource". >> >> What I need is any solution how get OracleConnection instead of >> Connection to use. >> Do I miss any parameter in resource configuration? >> <Resource name="sisPool" >> auth="Container" >> type="oracle.jdbc.pool.OracleDataSource" >> factory="oracle.jdbc.pool.OracleDataSourceFactory" >> username="USER_51319" >> password="USER_51319" >> driverClassName="oracle.jdbc.OracleDriver" >> url="jdbc:oracle:thin:@192.168.100.119:1521:orcl" >> maxActive="20" maxIdle="10" maxwait="-1"/> >> >> Thanks. >> Zdenek >> > > -Regards > Rashmi > --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]