- This topic has 9 replies, 3 voices, and was last updated 19 years, 11 months ago by angelrabbit99.
-
AuthorPosts
-
angelrabbit99MemberHello,
I am setting up several db connections using the same Sybase driver. For some of the databases the Table Info view is populated with the details of the selected table, but for others these details are not available. Any ideas why? This type of information is extremely usefull for the developers, so please help me find a solution.
Thank you,
Alex.
Riyad KallaMemberAlex,
Are all the DBs run from the same RDBMS, are are they separate RDBMS’s running?Can you please post all the information we request in the [URL=http://www.myeclipseide.com/PNphpBB2+file-viewtopic-t-393.html]Posting Guidelines[/URL] thread at the top of this forum? That will give us some context so that we can determine if this is an installation issue, a configuration problem, or a bug. Thanks.
angelrabbit99MemberRiyad,
I use the same driver: Sybase JConnect 5.5. The RDBMS systems are: Sybase Adaptive Server Entreprise 12.5.0.3 (the one that is working) and Sybase Adaptive Server Entreprise 12.5.2 (the one that is not working). I use Eclipse 3.0.1 with MyEclipse 3.8.3. The DB servers are running on different machines, but on the same OS: AIX 5.1. I guess that these are the most relevant elements for my case.
Thank you,
Alex.
Riyad KallaMemberAlex, thank you for the info. I’ve kicked this back to the developer of the DB module to see if he has any idea. Granted we don’t have installs of all the servers to test against, certainly not to the degree of granularity of your situation so we might not be able to help.
Quick suggestion, if you turn off “Auto commit” under DB Explorer prefs (Window > Prefs > MyEclipse > DB Explorer) and hit Apply then restart MyEclipse and reopen all your connections, does it work?
angelrabbit99MemberRiyad, I have “Auto commit” turned off by default…for safety. I have restarted MyEclipse, but there is not any change: I only have information in the Preview and the Row Count views only. If I can get more info on the way DB Browser is retrieving the Columns information maybe I can try to find a solution with my DBA…I guess it is using methods available in the DB driver…so it should work…I have just convinced my team that DB Browser will help us…so I am a little embarased now.
Cheers,
Alex.
Riyad KallaMemberAlex,
Check your Eclipse log file for exceptions that may help us figure out what is going on: <workspace dir>\.metadata\.logI have just convinced my team that DB Browser will help us…so I am a little embarased now.
I understand being in that position, we will work with you to make sure you don’t get embaressed. If it turns out that we can’t help and you are embaressed, then I suggest humiliating your coworkers one-by-one until you feel the score is even 😀
angelrabbit99MemberRiyad,
Here is an Java exception I found in the log file:
!ENTRY com.genuitec.eclipse.sqlexplorer 4 4 janv. 25, 2005 20:12:10.634
!MESSAGE Error activating columns detail view
!STACK 0
com.sybase.jdbc2.jdbc.SybSQLException: The ‘CREATE TABLE’ command is not allowed within a multi-statement transaction in the ‘tempdb’ database.at com.sybase.jdbc2.tds.Tds.processEed(Tds.java:2846)
at com.sybase.jdbc2.tds.Tds.nextResult(Tds.java:2168)
at com.sybase.jdbc2.jdbc.ResultGetter.nextResult(ResultGetter.java:69)
at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:220)
at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:203)
at com.sybase.jdbc2.jdbc.SybStatement.queryLoop(SybStatement.java:1596)
at com.sybase.jdbc2.jdbc.SybCallableStatement.executeQuery(SybCallableStatement.java:102)
at com.sybase.jdbc2.jdbc.SybDatabaseMetaData.returnResults(SybDatabaseMetaData.java:2379)
at com.sybase.jdbc2.jdbc.SybDatabaseMetaData.getColumns(SybDatabaseMetaData.java:1983)
at net.sourceforge.squirrel_sql.fw.sql.SQLDatabaseMetaData.getColumns(SQLDatabaseMetaData.java:940)
at com.genuitec.eclipse.sqlexplorer.model.TableNode.getColumns(Unknown Source)
at com.genuitec.eclipse.sqlexplorer.views.details.ColumnsDetail$3.run(Unknown Source)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at com.genuitec.eclipse.sqlexplorer.views.details.ColumnsDetail.activate(Unknown Source)
at com.genuitec.eclipse.sqlexplorer.views.DetailManager.activate(Unknown Source)
at com.genuitec.eclipse.sqlexplorer.views.TableInfoView.setInput(Unknown Source)
at com.genuitec.eclipse.sqlexplorer.views.DatabaseTreeViewer$4.selectionChanged(Unknown Source)
at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:159)
at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
at org.eclipse.core.runtime.Platform.run(Platform.java:747)
at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:157)
at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:1394)
at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:693)
at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:718)
at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:180)
at org.eclipse.jface.util.OpenStrategy.access$3(OpenStrategy.java:175)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:324)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2772)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2431)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:704)
at org.eclipse.core.launcher.Main.main(Main.java:688)I hope I does not mean that I have to humiliate all of my coworkers 🙂
Cheers,
Alex.
support-jeffMemberSince things work fine for one version of the database (the earlier version, I assume), I will go out on a limb and say the problem is between the JDBC driver and the version that is not working. Perhaps the driver came with the earlier version but is inappropriate to use with the later version? Please check the docs from sybase on this.
Also, the error log is very telling. I found the following link doing a google search on the exception and message:
Seems there is a bug in Sybase JDBC related to this, and there is a reference in the above document to a possible fix:
Case 10880427 has been opened with Sybase to resolve this problem
com.sybase.jdbc2.jdbc.SybDatabaseMetaData.getColumns() in your stacktrace is one of the methods mentioned in the article. Also, from the stacktrace, it looks as if the JDBC implementation uses a CallableStatement to get the info, which potentially is trying to create a temporary table in a database named tempdb – are you connected to the latter?
support-jeffMemberHere is another good link:
angelrabbit99MemberHello,
I have followed the link http://www.dbforums.com/archive/index.php/t-933924.html and turned the option ‘allow ddl in tran’ to true on the tempdb database and it is working now!
To turn this option on, you have to do: sp_dboption “tempdb”, “ddl in tran”, trueThank you for your help,
Alex. -
AuthorPosts