Hello ,
I am trying to do JDBC virtualization for backend SQL Server 2008 using Lisa 6.0. I am able to test connection successfully but I am getting error while executing SQL.
Error :
java.lang.ArrayIndexOutOfBoundsException: 31
at com.itko.lisa.vse.jdbc.driver.Row.getClassForType(Row.java:1101)
at com.itko.lisa.vse.jdbc.driver.RSMetaData$ColumnMetaData.<init>(RSMetaData.java:718)
at com.itko.lisa.vse.jdbc.driver.RSMetaData.<init>(RSMetaData.java:65)
at com.itko.lisa.vse.jdbc.driver.PreparedStatement.<init>(PreparedStatement.java:143)
at com.itko.lisa.vse.jdbc.driver.Connection.prepareStatement(Connection.java:376)
at com.itko.lisa.jdbc.JDBCNode.makeGenericCall(JDBCNode.java:396)
at com.itko.lisa.jdbc.JDBCNode.executeSQL(JDBCNode.java:346)
at com.itko.lisa.jdbc.JDBCNodeEditor.doExec(JDBCNodeEditor.java:479)
at com.itko.lisa.jdbc.JDBCNodeEditor.access$500(JDBCNodeEditor.java:55)
at com.itko.lisa.jdbc.JDBCNodeEditor$6.doCallback(JDBCNodeEditor.java:414)
at com.itko.util.swing.panels.ProcessingDialog$2.run(ProcessingDialog.java:248)
at java.lang.Thread.run(Unknown Source)
Steps
Below are the steps I have followed. Please let me know if I am missing something
-> Copied lisajdbcsim.jar into SQL server Lib folder C:\Program Files\Microsoft SQL Server\100\SDK\Lib\x86
-> Recorder Set up
- Tranport protocol - JDBC (Driver based)
- Driverhost - localhost, port 2999 and maxport - 2999
- URL : jdbc:sqlserver://10.226.124.41:1433/databaseName=Account/sa
-> Following configuration in JDBC step
- JDBC Driver com.itko.lisa.vse.jdbc.driver.Driver
- URL jdbc:lisasim:driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;state=record;jdbcSimPort=2999;url=jdbc:sqlserver://localhost:1433;databaseName=Account;
- Maximum rows to Fetch -1
- User Connection Pool and Return result set - Checked
- Query: Select * from dbo.User1
An update on this issue
I am able to record Insert trasactions in same Database. Also if I am giving some incorrect column name in select query I can see transtions in my recorder.
Eg : Table has 2 columns 'User' and 'Password'
If I am providing select pass from dbo.User1 it is giving me error Invalid column name and transctions are getting recorded.
But select * from dbo.User1 or select User from dbo.User1 is giving error java.lang.ArrayIndexOutOfBoundsException: 31 and no transactions are getting recorded.
Has anyone faced similar issue?