The following error message "Streaming result set com.mysql.jdbc.RowDataDynamic@XXXXXX is still active. No statements may be issued when any streaming result sets are open and in use on a given connection. Ensure that you have called .close() on any active streaming result sets before attempting more queries" comes from MySQL.
The reason for this lies in the streaming mode of MySQL. Streaming mode is the fastest way to get data from MySQL, and DataVirtuality uses this mode to transfer the data.
However, streaming mode has one limitation -- when a resultset is open in streaming mode on a mysql connections, you cannot use that same database connection to run other queries. This is exactly what the error message above tells. The solution to the problem would be to change the MySQL connection settings to use CursorFetch mode instead of Streaming mode.
To do this, you need to edit MySQL connection in datavirtuality to do the following
Press Edit on your mysql datasource in DVStudio and:
1. set the translator parameter UseStreamingResults=false
2. add the following parameters to JDBC parameters
3. press OK.
CursorFetch is the second quickest read method for MySQL. The difference is that with Streaming mode the server tries to start getting the data to consumer immediately, on CursorFetch it fills the buffer first and then serves the data from the buffer. On very large data sets there will be some initial delay until MySQL starts getting you the data in CursorFetch mode, but the difference is usually quite negligible for any practical purpose.