This is a bit confusing to explain, but here I go. I have an MS SQL Stored PROC that I can run with a dataSource test step. It will return rows if the PROC does NOT have any dynamic SQL embedded in it. So if there is a simple table select, it works fine. If you add dynamic SQL like:
--******************************************************* SET @SQL = 'INSERT INTO #FIG (CHAPTER_NO) ( SELECT F.CHAPTER_NO FROM ' + @SchemaName+'.TABLENAME AS F )'
Why would dynamic SQL affect the JDBC drivers? They should not care what the PROC does, only its response. I have checked the response with other software drivers and it is the same for static and dynamic SQL.
Anyone else with this problem?
Should I install the net.sourceforge.jtds.jdbc.Driver ? How do i register this drive and get it to show up on the list of available drivers in the SOAPUI application?
I am able to call another driver with groovy, but it is not on the SOAPUI dropdown lists...
Ok. I did some more testing and I am convinced there is a bug with SoapUI.
Attached are some screeenshots with some highlighted sections of interest. Basically, I have added the sourceforge JDBC driver to test an alternate from the one included with the install (MS JDBC). Both drivers result in the same dysfunction.
File > Preferences > JDBC driver Properties
This will add the option of using the sourceforge JDBC driver to SOAPUI datasource steps.
When I use this driver, the results are the same as the MS driver. No rows are returned to the datasource step if you call a stored PROC with dynamic SQL.
Now if you try a JDBC request, sourceforge driver and call the stored PROC, it does respond... BUT the output xml returns an inaccurate result: <Results> <UpdateCount>24</UpdateCount> </Results>
it should return: <Results> <C_S_U_F>10-10-10-10</C_S_U_F> </Results>
You can see the response time (screenshot) takes about 7-8 seconds because the PROC is complicated. That is the same execution time it takes in MS Management studio. It also returns 55 bytes, which is about the size of the result is should return.
For the last test, I create a Groovy step and programmatically executed the PROC with the sourceforge driver. The result returned in about 8 seconds with the CORRECT data!
So to sum this up, Using a groovy step, I can get the data. Using Datasource and JDBC request steps do NOT return data. That has to show there is a bug in these features.
I could be convinced otherwise, if someone can demonstrate working a Datasource step with MS SQL dynamic PROC's. We need these features to work in order to effectively use LOADUI PRO and SOAPUI PRO.
Please help if someone knows a workaround or a trick to get this to work!