DBVisualizer v7.x-8.x slow to load/open on Windows -- with solution
started a topic
about 11 years ago
[This topic is migrated from our old forums. The original author name has been removed]
In the past I have had issues with DbVisualizer being extremely slow to load. For example after clicking the icon the splash screen would show up and then almost 3 minutes later would the GUI appear. Also, creating a new SQL tab would create a similar delay (maybe slightly shorter, but still on the order of 1 minute.)
After a few months of just dealing with the issue (as deadlines for projects would not allow time for further investigation) I was able to take an hour or so to really zero in on what the problem was.
I was having issues with windows file shares taking really long times to authenticate on my network and after a while started to draw a correlation between the slow file shares and DbVisualizer taking so long to load or create a new tab.
As a quick test I removed all network connectivity from my machine: I disabled WiFi and removed my Ethernet cable (completely off the grid.)
While this would make no sense for running DbVisualizer as most databases require network connectivity it did guarantee one thing: any attempts to make a network connection of any kind would result in an immediate failure to connect vs. a try->wait->timeout after several seconds or minutes.
It turns out my suspicion was correct: network connectivity timeouts were causing the long delays as without network connectivity DbVisualizer managed to start right up and creating new tabs was instantaneous.
Next, I reestablished network connectivity on my machine and fired up WireShark to watch the network traffic as I performed the problematic tasks with DbVisualizer: Startup and new SQL tab creation.
I noticed that the delays came back and when a new tab (CTRL-T) operation was performed some SMB2 (windows file share) traffic was being generated. This SMB traffic also had authentication errors. It apears DbVisualizer was attempting to create a new (blank) file every time I created a new tab and it was trying to create the new blank file on a remote server using a UNC path (\\server\directory.) However, since my laptop had not yet authenticated to that share the operation was failing with an authentication error. In the network traffic log it appeared that DbVisualizer was making 3 attempts at the file share and then finally giving up and creating the new blank SQL tab anyway.
At this point I was curious as to why it was trying to create a new blank file on the remote server as I was logged into my machine with a local account (and not a domain account.) After digging through the GUI and finding the Tools->Tool Properties menu (and resulting dialog) I found the path of my User Preferences Directory on the General Item in the tree.
After snooping through that directory I found the .dbvis\config70 directory which contained a dbvis.xml file. Inside that file was the answer:
By changing the workingdirectory parameter to something local (and Restarting DbVisualizer):
I was able to solve the issue. DbVisualizer no longer hesitates (for 3 minutes) on startup and creating new SQL tabs (CTRL+T) happens instantaneously.
I had searched Google for this issue in the past and none of the results lead to this fix so I wanted to share it in the hopes that it might help someone else in the future.
Edited by: galuise on Nov 30, 2012 10:42 PM - Spelling