On 22/02/2008, Simon Payne <[EMAIL PROTECTED]> wrote: > Hi again Sebb > > Thanks for your suggestions. Here are my replies to your replies. > > Firstly, the reason I can't use the EzConnect string is because I want to > use the TNSNAMES entry to specify things like SERVER=SHARED as against > SERVER=DEDICATED.
OK > Secondly, you are right - I didn't read the Oracle docs closely enough. > Setting the Oracle system parameter got rid of the invalid host error. Useful to know. > I am still getting problems, however, and can I just bend your ear one more > time? I am now able to _connect_ to the database using TNSNAMES, but unable > to _close_ the connection. I don't have this problem on every database, but > only on ones remote to my box. Although it may be an Oracle problem, to > debug it, I wrote a simple JDBC client to confirm that the problem also > happens there. But it doesn't. > > While JMeter does no parsing of the connect string, nevertheless, probably > in the Excalibur code, it is doing something on connection closure that is > unhelpful. Is there anything more you can advise me in respect of this? Try using a pool connection count of 0 - this will set up a single connection per-thread rather than a shared pool. > Is anyone else using JMeter for database testing, and has seen problems like > this? > > Regards > > > Simon > > > -----Original Message----- > From: sebb > Sent: 20 February 2008 13:33 > To: JMeter Users List > Subject: Re: error when trying to use TNSNAMES entry in JMeter database > connect string > > > On 20/02/2008, Simon Payne <[EMAIL PROTECTED]> wrote: > > Hi, > > > > I am using JMeter v. 2.3 to run some load tests on an Oracle 10g2 > database. > > > > However, JMeter is unable to connect using a TNSNAMES.ORA entry. JMeter > > _can_ connect with this EZConnect string: > > > > jdbc:oracle:thin:@localhost/ORCL > > > > So why not use that? > > > but not with this one: > > > > jdbc:oracle:thin:@ORCL > > > > Did you set the system property: > > oracle.net.tns_admin > > as per the Oracle page? > > > NB the relevant TNSNAMES entry for this is pretty standard: > > > > ORCL = > > (DESCRIPTION = > > (ADDRESS_LIST = > > (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) > > ) > > (CONNECT_DATA = > > (SERVER = SHARED) > > (SID = ORCL) > > ) > > ) > > > > The error I get with the above example, from jmeter.log, is: > > > > 2008/02/18 15:47:55 WARN - > jmeter.protocol.jdbc.config.DataSourceElement: > > Could not return Connection java.sql.SQLException: Io exception: Unknown > > host specified > > at > > > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111) > > at > > > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145) > > at > > > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:254) > > at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:386) > > at > > oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:438) > > at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:164) > > at > > > oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java: > > 34) > > at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752) > > at java.sql.DriverManager.getConnection(DriverManager.java:525) > > at java.sql.DriverManager.getConnection(DriverManager.java:171) > > at > > > org.apache.avalon.excalibur.datasource.JdbcConnectionFactory.newInstance(Jdb > > cConnectionFactory.java:185) > > at > > > org.apache.avalon.excalibur.pool.ResourceLimitingPool.newPoolable(ResourceLi > > mitingPool.java:672) > > at > > > org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.newPoolable(V > > alidatedResourceLimitingPool.java:178) > > at > > > org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcConnectionPool.ne > > wPoolable(ResourceLimitingJdbcConnectionPool.java:123) > > at > > > org.apache.avalon.excalibur.pool.ResourceLimitingPool.get(ResourceLimitingPo > > ol.java:402) > > at > > > org.apache.avalon.excalibur.pool.ValidatedResourceLimitingPool.get(Validated > > ResourceLimitingPool.java:130) > > at > > > org.apache.avalon.excalibur.datasource.ResourceLimitingJdbcDataSource.getCon > > nection(ResourceLimitingJdbcDataSource.java:222) > > at > > > org.apache.jmeter.protocol.jdbc.config.DataSourceElement$DataSourceComponent > > Impl.getConnection(DataSourceElement.java:281) > > at > > > org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection(DataS > > ourceElement.java:151) > > at > > > org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler.sample(JDBCSampler.java: > > 153) > > at > org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:300) > > at java.lang.Thread.run(Thread.java:595) > > > > It seems to me that JMeter is parsing the Database URL incorrectly, > assuming > > that "ORCL" is the first part of a machine name. Since there's no host > > called ORCL on the domain, it throws an error. How can I configure > JMeter > > to accept this for what it is, i.e. a TNSNAMES entry, not part of a full > > connect string? > > JMeter does not parse the connect string. I don't know whether Excalibur > does. > > > The Oracle docs state that I should be able to use a TNSNAMES entry with > the > > Type 4 driver from 10.2.0.1.0 upwards. See for this: > > > > > http://download.oracle.com/docs/cd/B19306_01/java.102/b14355/urls.htm#BEIJFH > > HB > > > > for supported database specifiers. > > > > Here is my test configuration: > > > > Test Plan > > -> Thread Group > > -> Counter > > -> JDBC Connection Configuration > > -> User Parameters > > -> JDBC Request > > -> Response Assertion > > -> View Results in Table > > > > JDBC Connection Config is: > > Database URL: jdbc:oracle:thin:@ORCL > > JDBC driver class: oracle.jdbc.driver.OracleDriver > > (username and password withheld, but it's a valid schema) > > > > > > Environment: > > I am running JMeter on Windows XP v. 2002 SP2, using a Sun JVM as > follows: > > Java(TM) 2 Runtime Environment, Standard Edition (build > 1.5.0_06-b05), Java > > HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode) > > My Oracle driver is the Type 4 one, Oracle JDBC Driver version - > > "10.2.0.3.0", > > (I have also found the same issue with the 10.2.0.1.0 version). > > Oracle database is v. 10.2.0.1.0. > > > > Thanks for your help. > > > > Regards, > > > > Simon Payne > > > > > > --------------------------------------------------------------------- > > 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]