RESOLVED: Tomcat To Oracle Connection [ RE: Oracle 9i client connection to 8i database]
a workaround (i.e. use a dedicated connection). EXPLANATION --- To understand why this problem occurs, one must first understand the differences in how the listener handles connections to shared servers versus dedicated servers. When connecting to a dedicated server, the client connects to the listener (via hostname or IP address). The listener then spawns a dedicated server process and hands off the socket used to accept the client connection to that server. The client and server then start communicating via the endpoints established by the initial connection. NOTE: There is only one connection in this case. When connecting to a shared server, the initial client connection to the listener is the same. However, with MTS, there is no need to spawn a new server process; a pool of shared processes already exists. Also, clients do not communicate directly with the server processes in MTS; rather, they communicate with a dispatcher. For this reason, when setting up an MTS connection, the listener sends a redirect message back to the client asking the client to close the connection to the listener and connect to a dispatcher. The information in this message includes the hostname and a port number for the appropriate dispatcher. The redirect message will ALWAYS specify a hostname, even if the client initially provided an IP address. If, for any reason, the hostname provided to the listener (e.g. by the 'hostname' or another command) doesn't agree with the hostname by which the server is known on the client, the connection fails. On the other hand, if "(SERVER=DEDICATED)" already appears in the TNS connect string in tnsnames.ora or if "use_dedicated_server=ON" already appears in the sqlnet.ora file, you may find that SQL*Plus and/or JDBC OCI work fine, while JDBC Thin fails. SOLUTION Obviously, one solution is to use dedicated servers. However, this may not always be feasible. The key is to make sure the hostname on both the client and server ag ree. This can be accomplished by reconfiguring either the client or the server, but there are things to be aware of in both cases. If the server is configured to return a different hostname, then it is possible that other clients which used to work will now fail. In some cases, it may not be feasible to reconfigure the client. For example, if the server version of the hostname does not include the domain, you would need to remove the domain portion of the hostname on the client; but, if the client needs to connect to more than one server with the same base name in different domains, this may not be possible, as the hostname may be ambiguous. REFERENCES -- bug:1269734 java.sql.SQLException: Io exception: The Network Adapter could not <> FOLDER:languages.Java.JDBC TOPIC:Known Problems DOCUMENT-ID:139775.1 ALIAS: SOURCE:ADHOC DOCUMENT-TYPE:PROBLEM TITLE:JDBC Connection Failure: Network Adapter Could not Establish Connection IMPACT:LOW SKILL-LEVEL:NOVICESTATUS:PUBLISHED DISTRIBUTION:EXTERNAL ZCXPUBLIC ZCXREVIEWED AUTHOR:BHBAILEY.US PRODID-972 COMPONENT:OCI MINVER: MAXVER: PRODID-972 COMPONENT:THIN MINVER: MAXVER: PORTID-GENERIC . Copyright (c) 1995,2000 Oracle Corporation. All Rights Reserved. Legal Notices and Terms of Use. > -Original Message-> From: Phillip Qin [mailto:[EMAIL PROTECTED]]> Sent: Tuesday, January 04, 2005 3:39 PM> To: 'Tomcat Users List'> Subject: RE: Oracle 9i client connection to 8i database>> There is nothing to do with Oracle client. All you need is> the jdbc driver.>> -Original Message-> From: Brad Rhoads [mailto:[EMAIL PROTECTED]]> Sent: December 27, 2004 5:11 PM> To: 'Tomcat Users List'> Subject: RE: Oracle 9i client connection to 8i database>>> I always assumed the Oracle client was required. . .>> I uninstalled the client and get the same results. With the> sid syntax I at> least get an entry in the listener.log:>> 27-DEC-2004 16:58:11 *> (CONNECT_DATA=(SID=test)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=or> acle))) *> (ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.4)(PORT=33244)) * establish *>> But the app doesn't get a connection. And with the> service_name syntax I> only get a connection error:>> DatabaseMessageresources: Loading all the messages for the messageMap> NVFactory: _readNVPair expected )> DatabaseMessageresources: SQL EXCEPTION FETCHING MESSAGE> java.sql.SQLException: Io exception: NL Exception was generated> at> oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)>> I've run into a similar problem where the db server was> behind the firewall> and the firewall didn't allow high-ports, but in this case> both machines are> behind the firewall.>> Any other ideas why I might not be able to get a
RE: Need Consultant $$ [RE: Oracle 9i client connection to 8i database]
Try the type 4 driver and make sure that you're not NAT'ing the addresses anywhere. Oracle doesn't like NATs, you'll need a sqlnet proxy in order for something like that to work. I've used Cisco PIX firewalls which have a sqlnet proxy built in. --mikej -=- mike jackson [EMAIL PROTECTED] > -Original Message- > From: Brad Rhoads [mailto:[EMAIL PROTECTED] > Sent: Wednesday, January 05, 2005 4:09 PM > To: 'Tomcat Users List' > Subject: Need Consultant $$ [RE: Oracle 9i client connection > to 8i database] > Importance: High > > > > Our web app needs to talk to oracle. All is well if the app > runs on the db server. But at a client site and on our now on > own network, if the app is on a different box, it can't get > an oracle connection. It works fine on 2 boxes at other client sites. > > A related item seems to be that since the change in our > network (we just added a fire wall, the app itself has not > changed), we have to change the Net8 configuration to use a > service name instead of a sid. > > The web app makes a connection using a sid. (I've been > looking for way to change our connection to use a service > name with no luck so far.) > > We've had a similar problem when the app was outside the > firewall, the db was behind it, and the firewall didn't allow > high-ports through. But in the case of our client and our own > case, both machines are behind the firewall. > > I currently have the webapp running on the db server, but the > client is very unhappy with this and my boss wants me to seek > what ever help is necessary to resolve this problem. > > If you think you can help, please reply privately with your > rate, availability. I think everything can be done remotely, > but it might mean a trip to the client on Monday if we can't > work it out by then. > > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Need Consultant $$ [RE: Oracle 9i client connection to 8i database]
I think this depends largely on the type of connection you are making. If you are using the OCI driver (type 2), I believe you need the oracle client installed on the web application machine. If you are using the thin driver (type 4), I don't think you need the client software to be installed. Here are some samples from the oracle site. http://www.oracle.com/technology/sample_code/tech/java/sqlj_jdbc/files/9i_jdbc/index.html BTW, I think that if you use the oracle OCI connection pool classes you have to use the type 2 driver (OCI driver). Derrick Derrick Koes Senior Software Engineer http://www.skillsoft.com"/> codeauthor2001 [EMAIL PROTECTED] (603) 821-3260 (603) 305-1753 No, try not, do or do not, there is no try. -Original Message- From: Brad Rhoads [mailto:[EMAIL PROTECTED] Sent: Wednesday, January 05, 2005 7:09 PM To: 'Tomcat Users List' Subject: Need Consultant $$ [RE: Oracle 9i client connection to 8i database] Importance: High Our web app needs to talk to oracle. All is well if the app runs on the db server. But at a client site and on our now on own network, if the app is on a different box, it can't get an oracle connection. It works fine on 2 boxes at other client sites. A related item seems to be that since the change in our network (we just added a fire wall, the app itself has not changed), we have to change the Net8 configuration to use a service name instead of a sid. The web app makes a connection using a sid. (I've been looking for way to change our connection to use a service name with no luck so far.) We've had a similar problem when the app was outside the firewall, the db was behind it, and the firewall didn't allow high-ports through. But in the case of our client and our own case, both machines are behind the firewall. I currently have the webapp running on the db server, but the client is very unhappy with this and my boss wants me to seek what ever help is necessary to resolve this problem. If you think you can help, please reply privately with your rate, availability. I think everything can be done remotely, but it might mean a trip to the client on Monday if we can't work it out by then. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Need Consultant $$ [RE: Oracle 9i client connection to 8i database]
It sounds like your using a type2 driver. Switch to the type 4 driver and you don't need and Oracle binaries (except the jar file) and things might work a little better. -Tim Brad Rhoads wrote: Our web app needs to talk to oracle. All is well if the app runs on the db server. But at a client site and on our now on own network, if the app is on a different box, it can't get an oracle connection. It works fine on 2 boxes at other client sites. A related item seems to be that since the change in our network (we just added a fire wall, the app itself has not changed), we have to change the Net8 configuration to use a service name instead of a sid. The web app makes a connection using a sid. (I've been looking for way to change our connection to use a service name with no luck so far.) We've had a similar problem when the app was outside the firewall, the db was behind it, and the firewall didn't allow high-ports through. But in the case of our client and our own case, both machines are behind the firewall. I currently have the webapp running on the db server, but the client is very unhappy with this and my boss wants me to seek what ever help is necessary to resolve this problem. If you think you can help, please reply privately with your rate, availability. I think everything can be done remotely, but it might mean a trip to the client on Monday if we can't work it out by then. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Need Consultant $$ [RE: Oracle 9i client connection to 8i database]
Our web app needs to talk to oracle. All is well if the app runs on the db server. But at a client site and on our now on own network, if the app is on a different box, it can't get an oracle connection. It works fine on 2 boxes at other client sites. A related item seems to be that since the change in our network (we just added a fire wall, the app itself has not changed), we have to change the Net8 configuration to use a service name instead of a sid. The web app makes a connection using a sid. (I've been looking for way to change our connection to use a service name with no luck so far.) We've had a similar problem when the app was outside the firewall, the db was behind it, and the firewall didn't allow high-ports through. But in the case of our client and our own case, both machines are behind the firewall. I currently have the webapp running on the db server, but the client is very unhappy with this and my boss wants me to seek what ever help is necessary to resolve this problem. If you think you can help, please reply privately with your rate, availability. I think everything can be done remotely, but it might mean a trip to the client on Monday if we can't work it out by then. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
OCI Driver Usage [RE: Oracle 9i client connection to 8i database]
> -Original Message- > From: LERBSCHER Jean-Pierre > [mailto:[EMAIL PROTECTED] > Sent: Wednesday, January 05, 2005 3:14 AM * Perhaps you have to try > jdbc:oracle:oci:@ with oci driver. > > > -Original Message- > > From: Michael Echerer [mailto:[EMAIL PROTECTED] > > Sent: Saturday, December 25, 2004 4:08 AM > > To: Tomcat Users List > > Subject: Re: Oracle 9i client connection to 8i database > > > > How come that you need an Oracle client installation at all > > when you just want to use the Oracle thin JDBC driver? IHMO > > the client installation is only required for OCI thick drivers... What do I need to do to try out the OCI drivers? Will my existing code work? Anyone have an example? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Oracle 9i client connection to 8i database
> -Original Message- > From: LERBSCHER Jean-Pierre > [mailto:[EMAIL PROTECTED] > Sent: Wednesday, January 05, 2005 3:14 AM > To: 'Tomcat Users List' > Subject: RE : Oracle 9i client connection to 8i database > > If you get this log > 27-DEC-2004 16:58:11 * > (CONNECT_DATA=(SID=test)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=or > acle))) * > (ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.4)(PORT=33244)) * > establish * Perhaps you have to try > jdbc:oracle:thin:@10.0.0.4:33244:test with thin driver and HOST is the db server, not the client. And PORT is a the high-port that Oracle responds on (I think). - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE : Oracle 9i client connection to 8i database
If you get this log 27-DEC-2004 16:58:11 * (CONNECT_DATA=(SID=test)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.4)(PORT=33244)) * establish * Perhaps you have to try jdbc:oracle:thin:@10.0.0.4:33244:test with thin driver and jdbc:oracle:oci:@ with oci driver. -Message d'origine- De : Phillip Qin [mailto:[EMAIL PROTECTED] Envoyé : mardi 4 janvier 2005 22:39 À : 'Tomcat Users List' Objet : RE: Oracle 9i client connection to 8i database There is nothing to do with Oracle client. All you need is the jdbc driver. -Original Message- From: Brad Rhoads [mailto:[EMAIL PROTECTED] Sent: December 27, 2004 5:11 PM To: 'Tomcat Users List' Subject: RE: Oracle 9i client connection to 8i database I always assumed the Oracle client was required. . . I uninstalled the client and get the same results. With the sid syntax I at least get an entry in the listener.log: 27-DEC-2004 16:58:11 * (CONNECT_DATA=(SID=test)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.4)(PORT=33244)) * establish * But the app doesn't get a connection. And with the service_name syntax I only get a connection error: DatabaseMessageresources: Loading all the messages for the messageMap NVFactory: _readNVPair expected ) DatabaseMessageresources: SQL EXCEPTION FETCHING MESSAGE java.sql.SQLException: Io exception: NL Exception was generated at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187) I've run into a similar problem where the db server was behind the firewall and the firewall didn't allow high-ports, but in this case both machines are behind the firewall. Any other ideas why I might not be able to get a connection? > -Original Message- > From: Michael Echerer [mailto:[EMAIL PROTECTED] > Sent: Saturday, December 25, 2004 4:08 AM > To: Tomcat Users List > Subject: Re: Oracle 9i client connection to 8i database > > How come that you need an Oracle client installation at all > when you just want to use the Oracle thin JDBC driver? IHMO > the client installation is only required for OCI thick drivers... > > Brad Rhoads wrote: > > We have an (struts) app that talks to an Oracle 8i database. Our > > latest installation wants to run the app on Fedora Core 2. > I couldn't > > get the Oracle 8i client install, so I installed the 9i > client. With > > the 9i client, you have to use a service_name instead of a > sid in the connection. > > > > Normally my connection string (in my web.xml) looks like: > > > > jdbc:oracle:thin:@10.0.0.7:1521:test > > > > But it seems to get a service_name instead of a sid I have to use > > something > > like: > > > > > > > jdbc:oracle:thin:@jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS > > =(PROT > > > OCOL=TCP)(HOST=10.0.0.7)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=test)) > > ) > am-value> > > > > My problem is I'm getting this error: > > > > NVFactory: _readNVPair expected > > > > It doesn't seem to make any difference if I use the 8i or > the 9i drivers. > > > > I've also tried > > > > > jdbc:oracle:thin:@//10.0.0.7:1521/test > > > > But that just gave me a format error. > > > > I can connect fine using sqlplus. > > > > What am I doing wrong? > > > > Thanks for the help. Merry Christmas! > > > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] !DSPAM:41d08896130622933416230! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Oracle 9i client connection to 8i database
There is nothing to do with Oracle client. All you need is the jdbc driver. -Original Message- From: Brad Rhoads [mailto:[EMAIL PROTECTED] Sent: December 27, 2004 5:11 PM To: 'Tomcat Users List' Subject: RE: Oracle 9i client connection to 8i database I always assumed the Oracle client was required. . . I uninstalled the client and get the same results. With the sid syntax I at least get an entry in the listener.log: 27-DEC-2004 16:58:11 * (CONNECT_DATA=(SID=test)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.4)(PORT=33244)) * establish * But the app doesn't get a connection. And with the service_name syntax I only get a connection error: DatabaseMessageresources: Loading all the messages for the messageMap NVFactory: _readNVPair expected ) DatabaseMessageresources: SQL EXCEPTION FETCHING MESSAGE java.sql.SQLException: Io exception: NL Exception was generated at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187) I've run into a similar problem where the db server was behind the firewall and the firewall didn't allow high-ports, but in this case both machines are behind the firewall. Any other ideas why I might not be able to get a connection? > -Original Message- > From: Michael Echerer [mailto:[EMAIL PROTECTED] > Sent: Saturday, December 25, 2004 4:08 AM > To: Tomcat Users List > Subject: Re: Oracle 9i client connection to 8i database > > How come that you need an Oracle client installation at all > when you just want to use the Oracle thin JDBC driver? IHMO > the client installation is only required for OCI thick drivers... > > Brad Rhoads wrote: > > We have an (struts) app that talks to an Oracle 8i database. Our > > latest installation wants to run the app on Fedora Core 2. > I couldn't > > get the Oracle 8i client install, so I installed the 9i > client. With > > the 9i client, you have to use a service_name instead of a > sid in the connection. > > > > Normally my connection string (in my web.xml) looks like: > > > > jdbc:oracle:thin:@10.0.0.7:1521:test > > > > But it seems to get a service_name instead of a sid I have to use > > something > > like: > > > > > > > jdbc:oracle:thin:@jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS > > =(PROT > > > OCOL=TCP)(HOST=10.0.0.7)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=test)) > > ) > am-value> > > > > My problem is I'm getting this error: > > > > NVFactory: _readNVPair expected > > > > It doesn't seem to make any difference if I use the 8i or > the 9i drivers. > > > > I've also tried > > > > > jdbc:oracle:thin:@//10.0.0.7:1521/test > > > > But that just gave me a format error. > > > > I can connect fine using sqlplus. > > > > What am I doing wrong? > > > > Thanks for the help. Merry Christmas! > > > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] !DSPAM:41d08896130622933416230!
RE: Oracle 9i client connection to 8i database
I always assumed the Oracle client was required. . . I uninstalled the client and get the same results. With the sid syntax I at least get an entry in the listener.log: 27-DEC-2004 16:58:11 * (CONNECT_DATA=(SID=test)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.4)(PORT=33244)) * establish * But the app doesn't get a connection. And with the service_name syntax I only get a connection error: DatabaseMessageresources: Loading all the messages for the messageMap NVFactory: _readNVPair expected ) DatabaseMessageresources: SQL EXCEPTION FETCHING MESSAGE java.sql.SQLException: Io exception: NL Exception was generated at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187) I've run into a similar problem where the db server was behind the firewall and the firewall didn't allow high-ports, but in this case both machines are behind the firewall. Any other ideas why I might not be able to get a connection? > -Original Message- > From: Michael Echerer [mailto:[EMAIL PROTECTED] > Sent: Saturday, December 25, 2004 4:08 AM > To: Tomcat Users List > Subject: Re: Oracle 9i client connection to 8i database > > How come that you need an Oracle client installation at all > when you just want to use the Oracle thin JDBC driver? IHMO > the client installation is only required for OCI thick drivers... > > Brad Rhoads wrote: > > We have an (struts) app that talks to an Oracle 8i database. Our > > latest installation wants to run the app on Fedora Core 2. > I couldn't > > get the Oracle 8i client install, so I installed the 9i > client. With > > the 9i client, you have to use a service_name instead of a > sid in the connection. > > > > Normally my connection string (in my web.xml) looks like: > > > > jdbc:oracle:thin:@10.0.0.7:1521:test > > > > But it seems to get a service_name instead of a sid I have to use > > something > > like: > > > > > > > jdbc:oracle:thin:@jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS > > =(PROT > > > OCOL=TCP)(HOST=10.0.0.7)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=test)) > > ) > am-value> > > > > My problem is I'm getting this error: > > > > NVFactory: _readNVPair expected > > > > It doesn't seem to make any difference if I use the 8i or > the 9i drivers. > > > > I've also tried > > > > > jdbc:oracle:thin:@//10.0.0.7:1521/test > > > > But that just gave me a format error. > > > > I can connect fine using sqlplus. > > > > What am I doing wrong? > > > > Thanks for the help. Merry Christmas! > > > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Oracle 9i client connection to 8i database
How come that you need an Oracle client installation at all when you just want to use the Oracle thin JDBC driver? IHMO the client installation is only required for OCI thick drivers... Brad Rhoads wrote: We have an (struts) app that talks to an Oracle 8i database. Our latest installation wants to run the app on Fedora Core 2. I couldn't get the Oracle 8i client install, so I installed the 9i client. With the 9i client, you have to use a service_name instead of a sid in the connection. Normally my connection string (in my web.xml) looks like: jdbc:oracle:thin:@10.0.0.7:1521:test But it seems to get a service_name instead of a sid I have to use something like: jdbc:oracle:thin:@jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROT OCOL=TCP)(HOST=10.0.0.7)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=test))) am-value> My problem is I'm getting this error: NVFactory: _readNVPair expected It doesn't seem to make any difference if I use the 8i or the 9i drivers. I've also tried jdbc:oracle:thin:@//10.0.0.7:1521/test But that just gave me a format error. I can connect fine using sqlplus. What am I doing wrong? Thanks for the help. Merry Christmas! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]