Start a new topic

dbVis becomes unstable after deleting rows from one of the result tabs

[This topic is migrated from our old forums. The original author name has been removed]

Here is the scenario: SQL window contains: select * from table where ..... select * from another_table where ..... You execute this , dbvid returns *2* result tabs. +(Interestingly, only 1st one is editable and second one is not. ?? )+ You click to select all rows from the result grid and click on Delete button. The error is shown below. The app becomes unresponsive, but (fortunately) lets you save any unsaved work, although does not react to keystrokes.... Whats more, the rows DO get deleted.... {color:#800000}An error occurred while executing the database request for: Adaptive Server Enterprise Adaptive Server Enterprise/15.5/EBF 18661 SMP ESD#4/P/x86_64/Enterprise Linux/asear155/2545/64-bit/FBO/Thu Jun 16 06:45:54 2011 jConnect (TM) for JDBC (TM) jConnect (TM) for JDBC(TM)/7.07 GA(Build 26686)/P/EBF19793/JDK 1.6.0/jdbcmain/Tue Dec 20 04:39:14 PST 2011{color} {color:#800000}Short message: An error occurred while performing the operation: Cannot re-execute since this result set was produced as one of several result sets in a multi statement operation (typically a stored procedure generating several results).{color} {color:#800000}System Information: Product: DbVisualizer Personal 8.0.9 Build: #1751 (2012/04/30 11:38) Java VM: Java HotSpot(TM) Client VM Java Version: 1.6.0_30 Java Vendor: Sun Microsystems Inc. OS Name: Windows XP OS Arch: x86 OS Version: 5.1{color}

[This reply is migrated from our old forums.]

Re: dbVis becomes unstable after deleting rows from one of the result tabs
Hi Alex, Can you please share some more details about the actual tables such as the CREATE TABLE DDL for each? How much data are in them when you Select All rows and then delete the content? Regards Roger
[This reply is migrated from our old forums. The original author name has been removed]

Re: dbVis becomes unstable after deleting rows from one of the result tabs
Sure: *Table1 -- 54 rows* go create table Table 1 ( APP_ID varchar(10) not null, FunctionName varchar(32) not null, --- varchars P1 varchar(255) null, P2 varchar(255) null, P3 varchar(255) null, P4 varchar(500) null, --- int N1 int null, N2 int null, N3 int null, -- big varchar V1 varchar(520) null, -- floats D1 float null, D2 float null, D3 float null, Description varchar(50) null constraint FK_func_prm foreign key (APP_ID) references Table2 (APP_ID) ) lock datapages go create unique clustered index idx0 on Table1 (APP_ID, FunctionName) *Table 2: -- 8 rows* go create table Table2 ( APP_ID varchar(10) not null, AppName varchar(64) not null, Comment varchar(64) null, CreDte datetime not null ) lock allpages go create unique clustered index idx0 on Table2 (APP_ID) go Keep in mind, the two selects that I mentioned in my original post have a 'where APP_ID = ' constraint ..
[This reply is migrated from our old forums.]

Re: dbVis becomes unstable after deleting rows from one of the result tabs
Hi Alex, I've tried this now and for me both result sets are editable and the delete/save is fast and produce no errors. Can you please enable debug of DbVisualizer and then run the two queries. Then perform the delete/save. Post or email the debug output. Regards Roger support@dbvis.com
[This reply is migrated from our old forums. The original author name has been removed]

Re: dbVis becomes unstable after deleting rows from one of the result tabs
Still happening.... The non-editable tab#2 is still there and the fatal error persists after i delete rows from grid (and as i mentioned, rows do get deleted after all) You executed the two selects at once, yes? not as two separate execute commands? iTB_FuncParams would be Table1 iTB_Apps would be Table2 Thanks. ------------------------- Product Information ------------------------ Product: DbVisualizer Personal 8.0.9 Build: #1751 (2012/04/30 11:38) Java VM: Java HotSpot(TM) Client VM Java Version: 1.6.0_30 Java Vendor: Sun Microsystems Inc. OS Name: Windows XP OS Arch: x86 OS Version: 5.1 ------------------------- Connected Databases ------------------------ Database Type: Sybase ASE Major Version: 15 Minor Version: 5 Profile: sybase-ase Connection Message: Adaptive Server Enterprise Adaptive Server Enterprise/15.5/EBF 18661 SMP ESD#4/P/x86_64/Enterprise Linux/asear155/2545/64-bit/FBO/Thu Jun 16 06:45:54 2011 jConnect (TM) for JDBC (TM) jConnect (TM) for JDBC(TM)/7.07 GA(Build 26686)/P/EBF19793/JDK 1.6.0/jdbcmain/Tue Dec 20 04:39:14 PST 2011 --------------------------- Debug Printouts -------------------------- 07:28:50 [DEBUG AWT-EventQueue-1 DbVisualizerGUI.?] Init Seconds: 28.500 splash display: 3.734 window display: 28.484 07:30:08 [DEBUG AWT-EventQueue-1 L.?] Loading class using dynamic ClassLoader: com.sybase.jdbc4.jdbc.SybDataSource 07:30:08 [DEBUG AWT-EventQueue-1 L.?] Loading class using dynamic ClassLoader: com.sybase.jdbc4.jdbc.SybDataSource 07:30:08 [DEBUG Thread-8 G.?] Connecting: MY_SYBASE_SERVER 07:30:08 [DEBUG Thread-8 L.?] Loading class using dynamic ClassLoader: com.sybase.jdbc4.jdbc.SybDataSource 07:30:08 [DEBUG Thread-8 L.?] Loading class using dynamic ClassLoader: com.sybase.jdbc4.jdbc.SybDataSource 07:30:08 [DEBUG pool-2-thread-1 D.?] RootConnection: SybDataSource.acceptsURL("jdbc:sybase:Tds:my_server_address:50000?HOSTNAME=AE_DEV011&PACKETSIZE=8192") 07:30:08 [DEBUG pool-2-thread-2 D.?] RootConnection: SybDataSource.connect("jdbc:sybase:Tds:my_server_address:50000?HOSTNAME=AE_DEV011&PACKETSIZE=8192", {user=********, password=*************}) 07:30:08 [DEBUG pool-2-thread-2 C.?] RootConnection: SybConnection.setAutoCommit(true) 07:30:08 [DEBUG Thread-8 G.?] Using facade: sybase-ase for MY_SYBASE_SERVER 07:30:08 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getUserName() 07:30:08 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getDatabaseProductName() 07:30:08 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getDatabaseProductVersion() 07:30:08 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getDriverName() 07:30:08 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getDriverVersion() 07:30:09 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getDriverName() 07:30:09 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getDriverVersion() 07:30:09 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getUserName() 07:30:09 [DEBUG Thread-9 D.?] Loading profile /profiles/sybase-ase.xml 07:30:09 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getDatabaseMajorVersion() 07:30:09 [DEBUG Thread-9 D.?] match: If "#dm.getDatabaseMajorVersion() gte 12" 07:30:09 [DEBUG Thread-9 D.?] no match: Else "null" 07:30:09 [DEBUG Thread-9 D.?] match: If "#sp.getProperty('dbvis.license.type') eq 'Personal'" 07:30:09 [DEBUG Thread-9 K.?] Using profile: sybase-ase 07:30:09 [DEBUG Thread-11 J.?] elementName: 'GroupNode' label: 'Databases' type: 'Databases' on-empty-output: 'stop' 07:30:09 [DEBUG Thread-11 J.?] elementName: 'GroupNode' label: 'DBA Views' type: 'DBA' on-empty-output: 'stop' 07:30:09 [DEBUG Thread-9 A.?] Returning cloned generic Command for idref: getCatalogs 07:30:09 [DEBUG Thread-9 B.execute] CommandId: getCatalogs 07:30:09 [DEBUG Thread-9 N.?] DbConnection: MY_SYBASE_SERVER 07:30:09 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getCatalogs() 07:30:09 [DEBUG Thread-9 B.execute] Total rows/columns: 14/1. Rows after filtering: 14 07:30:09 [DEBUG Thread-9 B.execute] CommandId: getSchemaNames 07:30:09 [DEBUG Thread-9 N.?] DbConnection: MY_SYBASE_SERVER 07:30:09 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getSchemas() 07:30:09 [DEBUG Thread-9 B.execute] Total rows/columns: 37/2. Rows after filtering: 37 07:31:02 [DEBUG Thread-14 F.?] Creating new connection: DefaultEditor-0 for MY_SYBASE_SERVER 07:31:02 [DEBUG Thread-14 G.?] Connecting: MY_SYBASE_SERVER 07:31:02 [DEBUG Thread-14 L.?] Loading class using dynamic ClassLoader: com.sybase.jdbc4.jdbc.SybDataSource 07:31:02 [DEBUG Thread-14 L.?] Loading class using dynamic ClassLoader: com.sybase.jdbc4.jdbc.SybDataSource 07:31:02 [DEBUG pool-2-thread-2 D.?] DefaultEditor-0: SybDataSource.acceptsURL("jdbc:sybase:Tds:my_server_address:50000?HOSTNAME=AE_DEV011&PACKETSIZE=8192") 07:31:02 [DEBUG pool-2-thread-2 D.?] DefaultEditor-0: SybDataSource.connect("jdbc:sybase:Tds:my_server_address:50000?HOSTNAME=AE_DEV011&PACKETSIZE=8192", {user=********, password=*************}) 07:31:02 [DEBUG pool-2-thread-2 C.?] DefaultEditor-0: SybConnection.setAutoCommit(true) 07:31:02 [DEBUG Thread-14 G.?] Using facade: sybase-ase for MY_SYBASE_SERVER 07:31:02 [DEBUG pool-2-thread-2 E.?] DefaultEditor-0: SybDatabaseMetaData.getUserName() 07:31:02 [DEBUG pool-2-thread-2 E.?] DefaultEditor-0: SybDatabaseMetaData.getDatabaseProductName() 07:31:02 [DEBUG pool-2-thread-2 E.?] DefaultEditor-0: SybDatabaseMetaData.getDatabaseProductVersion() 07:31:02 [DEBUG pool-2-thread-2 E.?] DefaultEditor-0: SybDatabaseMetaData.getDriverName() 07:31:02 [DEBUG pool-2-thread-2 E.?] DefaultEditor-0: SybDatabaseMetaData.getDriverVersion() 07:31:02 [DEBUG pool-2-thread-2 E.?] DefaultEditor-0: SybDatabaseMetaData.getUserName() 07:31:02 [DEBUG Thread-14 J.execute] Executing... 07:31:02 [DEBUG Thread-14 J.setCurrentCatalog] DbConnection='MY_SYBASE_SERVER' Catalog='tss_ds_dev2' Schema='null' NewCatalog='tss_ds_dev2' 07:31:02 [DEBUG pool-2-thread-2 E.?] DefaultEditor-0: SybDatabaseMetaData.getUserName() 07:31:02 [DEBUG Thread-14 J.setCurrentSchema] DbConnection='MY_SYBASE_SERVER' Catalog='null' Schema='dbo' NewSchema='dbo' 07:31:02 [DEBUG pool-2-thread-2 C.?] DefaultEditor-0: SybConnection.createStatement() 07:31:02 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybStatement.execute("select * from iTB_FuncParams where APP_ID = 'HEDGE_FM' select * from iTB_Apps where APP_ID in ( 'HEDGE_FM', 'IEP')") 07:31:03 [DEBUG AWT-EventQueue-1 N.?] DbConnection='MY_SYBASE_SERVER' Catalog='tss_ds_dev2' Schema='dbo' Table='iTB_FuncParams' Column='%' 07:31:03 [DEBUG pool-2-thread-2 E.?] DefaultEditor-0: SybDatabaseMetaData.getColumns("tss_ds_dev2", "dbo", "iTB_FuncParams", "%") 07:31:03 [DEBUG AWT-EventQueue-1 N.?] DbConnection='MY_SYBASE_SERVER' Catalog='tss_ds_dev2' Schema='dbo' Table='iTB_FuncParams' 07:31:03 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getPrimaryKeys("tss_ds_dev2", "dbo", "iTB_FuncParams") 07:31:04 [DEBUG AWT-EventQueue-1 N.?] DbConnection='MY_SYBASE_SERVER' Catalog='tss_ds_dev2' Schema='dbo' Table='iTB_FuncParams' Column='%' 07:31:04 [DEBUG pool-2-thread-2 E.?] DefaultEditor-0: SybDatabaseMetaData.getColumns("tss_ds_dev2", "dbo", "iTB_FuncParams", "%") 07:31:04 [DEBUG AWT-EventQueue-1 F.?] {color:#ff0000}*Edit not allowed: The column names do not match the columns in the table* {color}07:31:04 [DEBUG pool-2-thread-2 E.?] DefaultEditor-0: SybDatabaseMetaData.getUserName() 07:31:33 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getDatabaseMajorVersion() 07:31:33 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getDatabaseMinorVersion() 07:31:54 [DEBUG AWT-EventQueue-1 N.?] DbConnection='MY_SYBASE_SERVER' Catalog='tss_ds_dev2' Schema='dbo' Table='iTB_FuncParams' 07:31:54 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getPrimaryKeys("tss_ds_dev2", "dbo", "iTB_FuncParams") 07:31:54 [DEBUG AWT-EventQueue-1 N.?] DbConnection='MY_SYBASE_SERVER' Catalog='tss_ds_dev2' Schema='dbo' Table='iTB_FuncParams' 07:31:54 [DEBUG pool-2-thread-2 E.?] RootConnection: SybDatabaseMetaData.getIndexInfo("tss_ds_dev2", "dbo", "iTB_FuncParams", true, true) 07:31:54 [DEBUG Thread-15 N.?] DbConnection='MY_SYBASE_SERVER' Catalog='tss_ds_dev2' Schema='dbo' Table='iTB_FuncParams' Where='APP_ID = $$APP_ID (where)||HEDGE_FM||String||where pk ds=10 dt=VARCHAR$$ and FunctionName = $$FunctionName (where)||BOOK_VALIDATION_PRNT_1||String||where pk ds=32 dt=VARCHAR$$' 07:31:54 [DEBUG Thread-15 J.execute] Executing... 07:31:54 [DEBUG Thread-15 J.setCurrentCatalog] DbConnection='MY_SYBASE_SERVER' Catalog='tss_ds_dev2' Schema='null' NewCatalog='tss_ds_dev2' 07:31:54 [DEBUG pool-2-thread-2 C.?] DefaultEditor-0: SybConnection.prepareStatement("select count(*) from dbo.iTB_FuncParams where APP_ID = ? and FunctionName = ?") 07:31:54 [DEBUG Thread-15 O.?] index=[1] name=[APP_ID (where)] value=[HEDGE_FM] type=[String] options=[where pk ds=10 dt=VARCHAR] 07:31:54 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybPreparedStatement.setString(1, "HEDGE_FM") 07:31:54 [DEBUG Thread-15 O.?] index=[2] name=[FunctionName (where)] value=[BOOK_VALIDATION_PRNT_1] type=[String] options=[where pk ds=32 dt=VARCHAR] 07:31:54 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybPreparedStatement.setString(2, "BOOK_VALIDATION_PRNT_1") 07:31:54 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybPreparedStatement.execute() 07:31:54 [DEBUG Thread-15 N.?] DbConnection='MY_SYBASE_SERVER' Catalog='tss_ds_dev2' Schema='dbo' Table='iTB_FuncParams' Where='APP_ID = $$APP_ID (where)||HEDGE_FM||String||where pk ds=10 dt=VARCHAR$$ and FunctionName = $$FunctionName (where)||BOOK_VALIDATION_PRNT_2||String||where pk ds=32 dt=VARCHAR$$' 07:31:54 [DEBUG Thread-15 J.execute] Executing... 07:31:54 [DEBUG Thread-15 J.setCurrentCatalog] DbConnection='MY_SYBASE_SERVER' Catalog='tss_ds_dev2' Schema='null' NewCatalog='tss_ds_dev2' 07:31:54 [DEBUG pool-2-thread-2 C.?] DefaultEditor-0: SybConnection.prepareStatement("select count(*) from dbo.iTB_FuncParams where APP_ID = ? and FunctionName = ?") 07:31:54 [DEBUG Thread-15 O.?] index=[1] name=[APP_ID (where)] value=[HEDGE_FM] type=[String] options=[where pk ds=10 dt=VARCHAR] 07:31:54 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybPreparedStatement.setString(1, "HEDGE_FM") 07:31:54 [DEBUG Thread-15 O.?] index=[2] name=[FunctionName (where)] value=[BOOK_VALIDATION_PRNT_2] type=[String] options=[where pk ds=32 dt=VARCHAR] 07:31:54 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybPreparedStatement.setString(2, "BOOK_VALIDATION_PRNT_2") 07:31:54 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybPreparedStatement.execute() 07:31:54 [DEBUG pool-2-thread-2 C.?] DefaultEditor-0: SybConnection.setAutoCommit(false) 07:31:54 [DEBUG Thread-15 J.execute] Executing... 07:31:54 [DEBUG Thread-15 J.setCurrentCatalog] DbConnection='MY_SYBASE_SERVER' Catalog='tss_ds_dev2' Schema='null' NewCatalog='tss_ds_dev2' 07:31:54 [DEBUG pool-2-thread-2 C.?] DefaultEditor-0: SybConnection.prepareStatement("delete from dbo.iTB_FuncParams where APP_ID = ? and FunctionName = ?") 07:31:54 [DEBUG Thread-15 O.?] index=[1] name=[APP_ID (where)] value=[HEDGE_FM] type=[String] options=[where pk ds=10 dt=VARCHAR] 07:31:54 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybPreparedStatement.setString(1, "HEDGE_FM") 07:31:54 [DEBUG Thread-15 O.?] index=[2] name=[FunctionName (where)] value=[BOOK_VALIDATION_PRNT_1] type=[String] options=[where pk ds=32 dt=VARCHAR] 07:31:54 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybPreparedStatement.setString(2, "BOOK_VALIDATION_PRNT_1") 07:31:54 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybPreparedStatement.execute() 07:31:54 [DEBUG Thread-15 J.execute] Executing... 07:31:54 [DEBUG Thread-15 J.setCurrentCatalog] DbConnection='MY_SYBASE_SERVER' Catalog='tss_ds_dev2' Schema='null' NewCatalog='tss_ds_dev2' 07:31:54 [DEBUG pool-2-thread-2 C.?] DefaultEditor-0: SybConnection.prepareStatement("delete from dbo.iTB_FuncParams where APP_ID = ? and FunctionName = ?") 07:31:54 [DEBUG Thread-15 O.?] index=[1] name=[APP_ID (where)] value=[HEDGE_FM] type=[String] options=[where pk ds=10 dt=VARCHAR] 07:31:54 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybPreparedStatement.setString(1, "HEDGE_FM") 07:31:54 [DEBUG Thread-15 O.?] index=[2] name=[FunctionName (where)] value=[BOOK_VALIDATION_PRNT_2] type=[String] options=[where pk ds=32 dt=VARCHAR] 07:31:54 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybPreparedStatement.setString(2, "BOOK_VALIDATION_PRNT_2") 07:31:54 [DEBUG pool-2-thread-2 B.?] DefaultEditor-0: SybPreparedStatement.execute() 07:31:54 [DEBUG Thread-15 G.?] Commit: MY_SYBASE_SERVER 07:31:54 [DEBUG pool-2-thread-3 C.?] DefaultEditor-0: SybConnection.commit() 07:31:54 [DEBUG pool-2-thread-3 C.?] DefaultEditor-0: SybConnection.setAutoCommit(true) 07:32:18 [DEBUG pool-2-thread-3 E.?] RootConnection: SybDatabaseMetaData.getDatabaseMajorVersion() 07:32:18 [DEBUG pool-2-thread-3 E.?] RootConnection: SybDatabaseMetaData.getDatabaseMinorVersion()
[This reply is migrated from our old forums.]

Re: dbVis becomes unstable after deleting rows from one of the result tabs
Hi Alex, The problem seem to be that you are running the SELECTs as a single statement (no separator between them): SELECT * FROM dbo.Table1 where APP_ID = '2' SELECT * FROM dbo.Table2 where APP_ID = '1' This is processed by the Sybase server and two result sets are fetched by DbVisualizer. Due to parsing and that DbVisualizer don't support this syntax, it can only determine that the first result set is editable while the other isn't. Then when you edit the first result set and press Save the edits are in saved but DbVisualizer cannot reload that specific result set since it is originally created by the compound SELECT statement. I will register a ticket so that none of the result sets will be editable if passing multiple SQLs in a single statement. I suggest you put a "go" between the two statements in order to workaround this issue. Regards Roger
[This reply is migrated from our old forums. The original author name has been removed]

Re: dbVis becomes unstable after deleting rows from one of the result tabs
Sounds good. Thank you
[This reply is migrated from our old forums.]

Re: dbVis becomes unstable after deleting rows from one of the result tabs
Hi Alex, Sorry for not informing about this earlier but this is fixed in 9.2.11 and later versions. Regards Roger