Hi Stephen, After a quick debug session I found DBVisualizer calls a lot of API to retrieve metadata, and getSchemas() + getCatalogs() weren't implemented.
I've uploaded a new version that works also with DbVisualizer: http://www.orientechnologies.com/[email protected]&file=orientdb-jdbc-2.1-SNAPSHOT-all.jar&os=multi Lvc@ On 29 January 2015 at 02:17, syshex <[email protected]> wrote: > I haven't tried it with DBVisualizer, but I'm (occasionally) using the > jdbc driver with SQuirreL, in case you need an alternative while you can't > get it to work with DBVisualizer. > > > > On Wednesday, January 28, 2015 at 11:17:06 PM UTC, Stephen Tyler wrote: >> >> >> When I create a Orient JDBC connection with DBVisualizer and attempt to >> connect, I get this error/stack trace: >> >> 18:10:44 [DEBUG AWT-EventQueue-0 DbVisualizerGUI.initialize] Startup >> time: 3.538 >> 18:10:44 [DEBUG AWT-EventQueue-0 X.Ą] AutoSaver started. Interval: 30 sec >> 18:10:44 [DEBUG AWT-EventQueue-0 V.Ă] ConnectionKeepAlive started. >> Interval: 10 sec >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 L.ā] Loading class using >> dynamic ClassLoader: com.orientechnologies.orient.jdbc.OrientJdbcDriver >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 L.ā] Loading class using >> dynamic ClassLoader: com.orientechnologies.orient.jdbc.OrientJdbcDriver >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 G.ij] Connecting: Database >> Connection >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 L.ā] Loading class using >> dynamic ClassLoader: com.orientechnologies.orient.jdbc.OrientJdbcDriver >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 L.ā] Loading class using >> dynamic ClassLoader: com.orientechnologies.orient.jdbc.OrientJdbcDriver >> 18:11:00 [DEBUG pool-3-thread-1 D.ā] RootConnection: >> OrientJdbcDriver.acceptsURL("jdbc:orient:remote:localhost/people") >> 18:11:00 [DEBUG pool-3-thread-1 D.ā] RootConnection: >> OrientJdbcDriver.connect("jdbc:orient:remote:localhost/people", >> {user=*****, password=*****}) >> Jan 28, 2015 6:11:00 PM com.orientechnologies.common.log.OLogManager log >> INFO: OrientDB auto-config DISKCACHE=29,346MB (heap=471MB os=31,865MB >> disk=41,454MB) >> 18:11:00 [DEBUG pool-3-thread-1 C.ā] RootConnection: OrientJdbcConnection. >> setAutoCommit(true) >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 G.Ć] Using facade: generic >> for Database Connection >> 18:11:00 [DEBUG pool-3-thread-1 E.ā] RootConnection: >> OrientJdbcDatabaseMetaData.getDatabaseProductName() >> 18:11:00 [DEBUG pool-3-thread-1 E.ā] RootConnection: >> OrientJdbcDatabaseMetaData.getDatabaseProductVersion() >> 18:11:00 [DEBUG pool-3-thread-1 E.ā] RootConnection: >> OrientJdbcDatabaseMetaData.getDriverName() >> 18:11:00 [DEBUG pool-3-thread-1 E.ā] RootConnection: >> OrientJdbcDatabaseMetaData.getDriverVersion() >> 18:11:00 [DEBUG pool-3-thread-1 E.ā] RootConnection: >> OrientJdbcDatabaseMetaData.getDriverName() >> 18:11:00 [DEBUG pool-3-thread-1 E.ā] RootConnection: >> OrientJdbcDatabaseMetaData.getDriverVersion() >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ķ] Loading profile >> /usr/share/java/dbvis/resources/profiles/generic.xml >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 P.Ă] Setting attribute: >> desc="Generic profile for any database" for: DatabaseProfile >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 P.Ă] Setting attribute: >> version="$Revision: 17931 $" for: DatabaseProfile >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 P.Ă] Setting attribute: >> date="$Date: 2014-10-11 15:47:52 +0200 (Lör, 11 Okt 2014) $" for: >> DatabaseProfile >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 P.Ă] Setting attribute: >> minver="9.2" for: DatabaseProfile >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: Else "null" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: Else "null" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: Else "null" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: Else "null" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: Else "null" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: Else "null" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: Else "null" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: If >> "#db.getDatabaseType().equals('firebird')" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: If >> "#db.getDatabaseType().equals('firebird')" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: Else "null" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If "! >> #db.getDatabaseType().equals('firebird')" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: If >> "#db.getDatabaseType().equals('firebird')" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: If >> "#db.getDatabaseType().equals('firebird')" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: Else "null" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: Else "null" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: Else "null" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: Else "null" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] no match: If >> "#db.getDatabaseType().equals('informix')" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 D.Ă] match: If >> "#sp.getProperty('dbvis.license.type') in {'Personal', 'Pro'}" >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 A.Ă] Profile merging and >> post processing: 0.071 secs >> 18:11:00 [DEBUG ExecutorRunner-pool-2-thread-1 L.Ħ] Using profile: generic >> 18:11:01 [DEBUG ExecutorRunner-pool-2-thread-1 B.execute] Execute >> Command: getCatalogs >> 18:11:01 [DEBUG ExecutorRunner-pool-2-thread-1 N.Ę] DbConnection: >> Database Connection >> 18:11:01 [DEBUG pool-3-thread-1 E.ā] RootConnection: >> OrientJdbcDatabaseMetaData.getCatalogs() >> 18:11:01 [DEBUG AWT-EventQueue-0 B.executionFinished] Exception while >> Connecting >> com.onseven.dbvis.K.B.O: java.util.concurrent.ExecutionException: >> java.lang.IllegalArgumentException: model passed to >> DefaultTableModelWrapper cannot be null >> at com.onseven.dbvis.K.B.K.ā(Z:2680) >> at com.onseven.dbvis.K.B.K.ā(Z:1521) >> at com.onseven.dbvis.K.B.K$3.run(Z:3032) >> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) >> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744) >> at java.awt.EventQueue.access$400(EventQueue.java:97) >> at java.awt.EventQueue$3.run(EventQueue.java:697) >> at java.awt.EventQueue$3.run(EventQueue.java:691) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.security.ProtectionDomain$1.doIntersectionPrivilege( >> ProtectionDomain.java:75) >> at java.awt.EventQueue.dispatchEvent(EventQueue.java:714) >> at com.onseven.dbvis.O.A.a.dispatchEvent(Z:2787) >> at java.awt.EventDispatchThread.pumpOneEventForFilters( >> EventDispatchThread.java:201) >> at java.awt.EventDispatchThread.pumpEventsForFilter( >> EventDispatchThread.java:116) >> at java.awt.EventDispatchThread.pumpEventsForHierarchy( >> EventDispatchThread.java:105) >> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) >> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) >> at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) >> Caused by: java.util.concurrent.ExecutionException: >> java.lang.IllegalArgumentException: >> model passed to DefaultTableModelWrapper cannot be null >> at java.util.concurrent.FutureTask.report(FutureTask.java:122) >> at java.util.concurrent.FutureTask.get(FutureTask.java:192) >> at javax.swing.SwingWorker.get(SwingWorker.java:602) >> at com.onseven.dbvis.K.B.K.ā(Z:990) >> ... 17 more >> Caused by: java.lang.IllegalArgumentException: model passed to >> DefaultTableModelWrapper cannot be null >> at com.jidesoft.grid.TableModelWrapperImpl.<init>(Unknown Source) >> at com.jidesoft.grid.DefaultTableModelWrapper.<init>(Unknown Source) >> at com.jidesoft.grid.FilterableTableModel.<init>(Unknown Source) >> at com.jidesoft.grid.FilterableTreeTableModel.<init>(Unknown Source) >> at com.onseven.dbvis.K.B.Z.<init>(Z:712) >> at com.onseven.dbvis.db.AbstractFacade.executeAndGet(Z:753) >> at com.onseven.dbvis.db.AbstractFacade.getCatalogNames(Z:2063) >> at com.onseven.dbvis.db.AbstractFacade.runConnectionSetup(Z:2407) >> at com.onseven.dbvis.db.A.I.ij(Z:2496) >> at com.onseven.dbvis.db.A.B.execute(Z:808) >> at com.onseven.dbvis.K.B.Y.ā(Z:112) >> at com.onseven.dbvis.K.B.K.Ă(Z:1374) >> at com.onseven.dbvis.K.B.K.doInBackground(Z:1521) >> at javax.swing.SwingWorker$1.call(SwingWorker.java:295) >> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >> at javax.swing.SwingWorker.run(SwingWorker.java:334) >> at java.util.concurrent.ThreadPoolExecutor.runWorker( >> ThreadPoolExecutor.java:1142) >> at java.util.concurrent.ThreadPoolExecutor$Worker.run( >> ThreadPoolExecutor.java:617) >> at java.lang.Thread.run(Thread.java:745) >> >> It still seems to connect, its probably having some trouble getting some >> metadata or something. >> >> When I try to run a query, I get this error/stack trace: >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 J.execute] Executing... >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 J.setCurrentCatalog] >> DbConnection='Database Connection' Catalog='people' Schema='null' >> NewCatalog='people' >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 J.setCurrentSchema] >> DbConnection='Database Connection' Catalog='null' Schema='null' >> NewSchema='null' >> 18:14:55 [DEBUG pool-3-thread-3 C.ā] DefaultEditor17: >> OrientJdbcConnection.createStatement() >> 18:14:55 [DEBUG pool-3-thread-3 B.ā] DefaultEditor17: >> OrientJdbcStatement.execute("select * from Person5") >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 E.ā] Error >> (java.sql.SQLException) getting value for: 2/1 (java.lang.Long: >> interaction_author_id): java.sql.SQLException: An error occurred during the >> retrieval of the long value at column 'interaction_author_id' >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 E.ā] Error getting value >> for: 2/1: java.sql.SQLException: An error occurred during the retrieval of >> the Java Object at column 'interaction_author_id' >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 E.ā] ... switching to >> getObject() >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 E.ā] Error >> (java.sql.SQLException) getting value for: 3/1 (java.lang.Long: >> interaction_author_id): java.sql.SQLException: An error occurred during the >> retrieval of the long value at column 'interaction_author_id' >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 E.ā] Error getting value >> for: 3/1: java.sql.SQLException: An error occurred during the retrieval of >> the Java Object at column 'interaction_author_id' >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 E.ā] ... switching to >> getObject() >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 E.ā] Error >> (java.sql.SQLException) getting value for: 4/1 (java.lang.Long: >> interaction_author_id): java.sql.SQLException: An error occurred during the >> retrieval of the long value at column 'interaction_author_id' >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 E.ā] Error getting value >> for: 4/1: java.sql.SQLException: An error occurred during the retrieval of >> the Java Object at column 'interaction_author_id' >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 E.ā] ... switching to >> getObject() >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 Y.processResultSet] >> Fetched Rows: 4 Columns: 1 Exec: 0.006 Fetch: 0.002 sec >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 N.ě] >> DbConnection='Database Connection' Catalog='people' Schema='null' >> Table='Person5' Column='%' >> 18:14:55 [DEBUG pool-3-thread-3 E.ā] DefaultEditor17: >> OrientJdbcDatabaseMetaData.getColumns("people", null, "Person5", "%") >> 18:14:55 [DEBUG ExecutorRunner-pool-2-thread-2 L.ā] Edit not allowed: >> Column names in result set doesn't match columns in table: people.Person5 >> >> >> It would be really great to use DBVisualizer with OrientDB. >> >> Any help would be appreciated. >> >> Thanks >> -Stephen >> >> >> -- > > --- > You received this message because you are subscribed to the Google Groups > "OrientDB" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
