jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wolfgang Wyremba <w...@live.de>
Subject RE: Feeding a JDBC sampler with multiple SQL statements from a SQL script file
Date Tue, 10 Apr 2012 08:28:13 GMT

Thanks for your help - I now have some improvements .

I did the following: 
I tried ${SQLStmt} in the JDBC sampler - but that did not work because always a "?" was placed
in front of my SQL string.

Therefore, I added a dummy-column in my SQL script file.
The file looks now:
dummy;SELECT * FROM dbc.tablesV ORDER BY 1
dummy;SELECT * FROM dbc.tablesV ORDER BY 1, 2, 3


My CSV data set config has now the following settings:
- filename: C:\JMeterCSVSQL.txt
- character set: UTF-8
- variable name: dummy,SQLStmt
- delimiter: ;

I do not use the dummy variable, but now I can execute one SQL statement which is placed in
the SQL script file.

However, there is one problem again:
Only the first SQL statement of the textfile gets executed - the others do not get executed.

I am not sure, why JMeter does not fetch row after row of the textfile and does not execute
all statement.

The debugging info also did not show me any more information about that.

Do you have any other hints to solve this issue?

thanks


> Subject: Re: Feeding a JDBC sampler with multiple SQL statements from a SQL script file
> From: oliver_lloyd@hotmail.com
> Date: Sat, 7 Apr 2012 10:24:12 +0100
> To: user@jmeter.apache.org
> 
> One thing, have you tried with ${SQLStmt} - ${} is the notation for how JM refers to
variables.
> 
> Apart from that, as it stands this should work. Try moving the View Results Tree Listener
from where it is as a child of the JDBC request to the top of the testplan, that way you will
see results for everything. Then add a Debug Request, that will show more information.
> 
> On 7 Apr 2012, at 09:59, Wolfgang Wyremba wrote:
> 
> > 
> > hello,
> > 
> > let my outline my current configuration below...
> > 
> >>> So, is there a way to "feed" a JDBC sampler with an external file, holding
different SQL statements?
> >> 
> > Yes, you can pass a variable directly into the SQL statement itself. 
> > Eg. In the Query edit box, you might have something like:
> >> 
> >> INSERT INTO `myDB`.`emails` (`email`) VALUES ('${myEmail}');
> >> 
> >> Where ${myEmail} is a jmeter variable.
> >> 
> >>> 
> >>> I could find one posting in this mailling list, discussing this issue using
CSV data set configs:
> >>> http://jmeter.512774.n5.nabble.com/How-to-run-SQL-log-against-database-td525660.html
> >>> 
> >>> However, I am not sure, whether this is the right solution and additionally
I could not manage to get it working.
> >> 
> >> 
> > Sounds like a good solution to me, there may be others, but this would 
> > certainly work and actually, probably isn't all that hard. You just ahve
> > to get the CSV Dataset Config to work. 
> >> 
> >> What exactly is it that is causing you trouble?
> > 
> > I have a working JDBC configuration and I can run a single SQL statement without
any problems in a JDBC sampler.
> > 
> > I set up a text-file called "JMeterCSVSQL.txt" which has two SQL statements - each
in a line seperated with a semicolon:
> > SELECT * FROM DBC.TablesV ORDER BY 1;
> > SELECT * FROM DBC.TablesV ORDER BY 1, 2, 3;
> > 
> > My CSV data set config has the following settings:
> > - filename: C:\JMeterCSVSQL.txt
> > - character set: UTF-8
> > - variable name: SQLStmt
> > - delimiter: ;
> > 
> > I did not touch the other settings.
> > 
> > My JDBC sampler has the following settings:
> > - Variable Name Bound To Pool: DB1 ... this is my working DB-connection
> > - Query-Type: SELECT statement
> > - Query: {SQLStmt}
> > 
> > I did not touch the other settings.
> > 
> > Well, this configuration does not work.
> > I always get the following JDBC Error: 
> > <sample t="33" lt="33" ts="1333788631220" s="false" lb="JDBC Request" rc="HY000
1074" rm="com.teradata.jdbc.jdbc_4.util.JDBCException: [Teradata JDBC Driver] [TeraJDBC 13.10.00.29]
[Error 1074] [SQLState HY000] Invalid Escape Clause &quot;{SQLStmt}&quot;" tn="TG_Queries
1-1" dt="text" by="0"/>
> > 
> > I
> > also tried to change the query to '{SQLStmt}' but that didn't work as well.
> > The JDBC error then is:
> > <sample t="35" lt="33" ts="1333788770333" s="false" lb="JDBC Request" rc="42000
3706" rm="com.teradata.jdbc.jdbc_4.util.JDBCException: [Teradata Database] [TeraJDBC 13.10.00.29]
[Error 3706] [SQLState 42000] Syntax error: expected something between the beginning of the
request and the string &apos;{&apos;." tn="TG_Queries 1-1" dt="text" by="0"/>
> > 
> > 
> > My layout of my JMeter file is:
> > Thread Group
> >     JDBC Connection
> >     CSV Data Set Config
> >     JDBC Request
> >         View Result Set in Table
> >     Summary Report
> > 
> > 
> > So, there seem to be some small changes needed; but I am not sure what I have to
change to get it working.
> > 
> > I hope you can give me some more hints on how to solve this issue.
> > 
> > Thanks.
> > 
> > 		 	   		  
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org
> For additional commands, e-mail: user-help@jmeter.apache.org
> 
 		 	   		  
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message