本文記錄了在內網離線安裝數據庫可視化管理工具dbeaver的過程和相關問題處理方法。
一、下載dbeaver
https://dbeaver.io/download/
筆者測試時Windows平臺最新版本為:dbeaver-ce-24.1.1-x86_64-setup.exe
二、安裝方法
一路“下一步”即可
?三、問題處理
1、問題現象
安裝完成后運行,提示出錯,如下
2、問題日志
?根據提示檢查出錯日志,提示“swt-win32-4965r11.dll: 找不到指定的程序”和“Can't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt-win32-4965r11.dll
?? ?Can't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt-win32.dll
?? ?Can't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt.dll”
詳細日志如下:
!SESSION 2024-07-01 11:42:14.483 -----------------------------------------------
eclipse.buildId=unknown
java.version=17.0.6
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh
Framework arguments: -eclipse.keyring C:\Users\Administrator\AppData\Roaming\DBeaverData\secure\secure_storage
Command-line arguments: -os win32 -ws win32 -arch x86_64!ENTRY org.eclipse.osgi 4 0 2024-07-01 11:42:16.273
!MESSAGE An error occurred while automatically activating bundle org.eclipse.ui.ide (167).
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.ui.internal.ide.IDEWorkbenchPlugin.start() of bundle org.eclipse.ui.ide.at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:854)at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:775)at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1057)at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:387)at org.eclipse.osgi.container.Module.doStart(Module.java:639)at org.eclipse.osgi.container.Module.start(Module.java:498)at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:528)at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122)at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:620)at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:348)at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:414)at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:41)at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:516)at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434)at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:174)at java.base/java.lang.ClassLoader.loadClass(Unknown Source)at org.jkiss.dbeaver.ui.app.standalone.DBeaverApplication.getRecentWorkspaces(DBeaverApplication.java:374)at org.jkiss.dbeaver.ui.app.standalone.DBeaverApplication.setIDEWorkspace(DBeaverApplication.java:350)at org.jkiss.dbeaver.ui.app.standalone.DBeaverApplication.start(DBeaverApplication.java:190)at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.base/java.lang.reflect.Method.invoke(Unknown Source)at org.jkiss.dbeaver.launcher.DBeaverLauncher.invokeFramework(DBeaverLauncher.java:648)at org.jkiss.dbeaver.launcher.DBeaverLauncher.basicRun(DBeaverLauncher.java:608)at org.jkiss.dbeaver.launcher.DBeaverLauncher.run(DBeaverLauncher.java:1459)
Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: C:\Users\Administrator\AppData\Local\DBeaver\swt-win32-4965r11.dll: 找不到指定的程序。no swt-win32 in java.library.path: C:\Users\Administrator\AppData\Local\DBeaver;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Users/Administrator/AppData/Local/DBeaver/jre/bin/server;C:/Users/Administrator/AppData/Local/DBeaver/jre/bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;c:\Program Files\Java\jre1.8.0_51\\bin;c:\Program Files\Java\jre1.8.0_51\\jre\bin;;C:\Users\Administrator\AppData\Local\DBeaver;;.no swt in java.library.path: C:\Users\Administrator\AppData\Local\DBeaver;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Users/Administrator/AppData/Local/DBeaver/jre/bin/server;C:/Users/Administrator/AppData/Local/DBeaver/jre/bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;c:\Program Files\Java\jre1.8.0_51\\bin;c:\Program Files\Java\jre1.8.0_51\\jre\bin;;C:\Users\Administrator\AppData\Local\DBeaver;;.Can't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt-win32-4965r11.dllCan't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt-win32.dllCan't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt.dllat org.eclipse.swt.internal.Library.loadLibrary(Library.java:345)at org.eclipse.swt.internal.Library.loadLibrary(Library.java:254)at org.eclipse.swt.internal.C.<clinit>(C.java:19)at org.eclipse.swt.internal.win32.STARTUPINFO.<clinit>(STARTUPINFO.java:42)at org.eclipse.swt.widgets.Display.<clinit>(Display.java:149)at org.eclipse.ui.internal.ide.IDEWorkbenchPlugin.createProblemsViews(IDEWorkbenchPlugin.java:390)at org.eclipse.ui.internal.ide.IDEWorkbenchPlugin.start(IDEWorkbenchPlugin.java:347)at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:833)at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)at java.base/java.security.AccessController.doPrivileged(Unknown Source)at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:825)... 30 more
Root exception:
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: C:\Users\Administrator\AppData\Local\DBeaver\swt-win32-4965r11.dll: 找不到指定的程序。no swt-win32 in java.library.path: C:\Users\Administrator\AppData\Local\DBeaver;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Users/Administrator/AppData/Local/DBeaver/jre/bin/server;C:/Users/Administrator/AppData/Local/DBeaver/jre/bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;c:\Program Files\Java\jre1.8.0_51\\bin;c:\Program Files\Java\jre1.8.0_51\\jre\bin;;C:\Users\Administrator\AppData\Local\DBeaver;;.no swt in java.library.path: C:\Users\Administrator\AppData\Local\DBeaver;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Users/Administrator/AppData/Local/DBeaver/jre/bin/server;C:/Users/Administrator/AppData/Local/DBeaver/jre/bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;c:\Program Files\Java\jre1.8.0_51\\bin;c:\Program Files\Java\jre1.8.0_51\\jre\bin;;C:\Users\Administrator\AppData\Local\DBeaver;;.Can't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt-win32-4965r11.dllCan't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt-win32.dllCan't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt.dllat org.eclipse.swt.internal.Library.loadLibrary(Library.java:345)at org.eclipse.swt.internal.Library.loadLibrary(Library.java:254)at org.eclipse.swt.internal.C.<clinit>(C.java:19)at org.eclipse.swt.internal.win32.STARTUPINFO.<clinit>(STARTUPINFO.java:42)at org.eclipse.swt.widgets.Display.<clinit>(Display.java:149)at org.eclipse.ui.internal.ide.IDEWorkbenchPlugin.createProblemsViews(IDEWorkbenchPlugin.java:390)at org.eclipse.ui.internal.ide.IDEWorkbenchPlugin.start(IDEWorkbenchPlugin.java:347)at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:833)at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)at java.base/java.security.AccessController.doPrivileged(Unknown Source)at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:825)at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:775)at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1057)at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:387)at org.eclipse.osgi.container.Module.doStart(Module.java:639)at org.eclipse.osgi.container.Module.start(Module.java:498)at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:528)at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122)at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:620)at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:348)at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:414)at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:41)at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:516)at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434)at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:174)at java.base/java.lang.ClassLoader.loadClass(Unknown Source)at org.jkiss.dbeaver.ui.app.standalone.DBeaverApplication.getRecentWorkspaces(DBeaverApplication.java:374)at org.jkiss.dbeaver.ui.app.standalone.DBeaverApplication.setIDEWorkspace(DBeaverApplication.java:350)at org.jkiss.dbeaver.ui.app.standalone.DBeaverApplication.start(DBeaverApplication.java:190)at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.base/java.lang.reflect.Method.invoke(Unknown Source)at org.jkiss.dbeaver.launcher.DBeaverLauncher.invokeFramework(DBeaverLauncher.java:648)at org.jkiss.dbeaver.launcher.DBeaverLauncher.basicRun(DBeaverLauncher.java:608)at org.jkiss.dbeaver.launcher.DBeaverLauncher.run(DBeaverLauncher.java:1459)!ENTRY org.eclipse.osgi 4 0 2024-07-01 11:42:16.288
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/ui/internal/ide/ChooseWorkspaceDataat org.jkiss.dbeaver.ui.app.standalone.DBeaverApplication.getRecentWorkspaces(DBeaverApplication.java:374)at org.jkiss.dbeaver.ui.app.standalone.DBeaverApplication.setIDEWorkspace(DBeaverApplication.java:350)at org.jkiss.dbeaver.ui.app.standalone.DBeaverApplication.start(DBeaverApplication.java:190)at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.base/java.lang.reflect.Method.invoke(Unknown Source)at org.jkiss.dbeaver.launcher.DBeaverLauncher.invokeFramework(DBeaverLauncher.java:648)at org.jkiss.dbeaver.launcher.DBeaverLauncher.basicRun(DBeaverLauncher.java:608)at org.jkiss.dbeaver.launcher.DBeaverLauncher.run(DBeaverLauncher.java:1459)
Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.ui.ide (167).at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:134)at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:620)at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:348)at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:414)at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:41)at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:516)at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434)at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:174)at java.base/java.lang.ClassLoader.loadClass(Unknown Source)... 15 more
Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.ui.internal.ide.IDEWorkbenchPlugin.start() of bundle org.eclipse.ui.ide.at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:854)at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:775)at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1057)at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:387)at org.eclipse.osgi.container.Module.doStart(Module.java:639)at org.eclipse.osgi.container.Module.start(Module.java:498)at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:528)at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:122)... 23 more
Caused by: java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: C:\Users\Administrator\AppData\Local\DBeaver\swt-win32-4965r11.dll: 找不到指定的程序。no swt-win32 in java.library.path: C:\Users\Administrator\AppData\Local\DBeaver;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Users/Administrator/AppData/Local/DBeaver/jre/bin/server;C:/Users/Administrator/AppData/Local/DBeaver/jre/bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;c:\Program Files\Java\jre1.8.0_51\\bin;c:\Program Files\Java\jre1.8.0_51\\jre\bin;;C:\Users\Administrator\AppData\Local\DBeaver;;.no swt in java.library.path: C:\Users\Administrator\AppData\Local\DBeaver;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Users/Administrator/AppData/Local/DBeaver/jre/bin/server;C:/Users/Administrator/AppData/Local/DBeaver/jre/bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;c:\Program Files\Java\jre1.8.0_51\\bin;c:\Program Files\Java\jre1.8.0_51\\jre\bin;;C:\Users\Administrator\AppData\Local\DBeaver;;.Can't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt-win32-4965r11.dllCan't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt-win32.dllCan't load library: C:\Users\Administrator\.swt\lib\win32\x86_64\swt.dllat org.eclipse.swt.internal.Library.loadLibrary(Library.java:345)at org.eclipse.swt.internal.Library.loadLibrary(Library.java:254)at org.eclipse.swt.internal.C.<clinit>(C.java:19)at org.eclipse.swt.internal.win32.STARTUPINFO.<clinit>(STARTUPINFO.java:42)at org.eclipse.swt.widgets.Display.<clinit>(Display.java:149)at org.eclipse.ui.internal.ide.IDEWorkbenchPlugin.createProblemsViews(IDEWorkbenchPlugin.java:390)at org.eclipse.ui.internal.ide.IDEWorkbenchPlugin.start(IDEWorkbenchPlugin.java:347)at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:833)at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)at java.base/java.security.AccessController.doPrivileged(Unknown Source)at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:825)... 30 more
?3、問題分析
排查發現:swt-win32-4965r11.dll在程序目錄下有,swt-win32.dll和swt.dll則整個主機上都沒有。在正常運行dbeaver的主機上搜索,也沒有swt-win32.dll和swt.dll。
檢查運行環境,當前主機為WindowsServer2012R2主機,懷疑是該程序對服務器操作系統環境支持不足。
?
更換到Windows10平臺上安裝運行,問題解決。(Windows10平臺系統中沒有swt-win32.dll和swt.dll,程序運行正常)。
三、連接Mysql數據庫
1、選擇連接Mysql數據庫
?2、輸入數據庫URL
3、提示需下載Mysql驅動
由于是內網環境,出現報錯?
?4、從Mysql官網下載JDBC驅動
如下:
?5、選擇操作系統為“Platform Independent”
?6、從下方直鏈直接下載
?7、當前版本mysql-connector-j-8.4.0.zip
?8、解壓驅動
將壓縮包解壓放到dbeaver目錄下
9、在內網終端上點編輯驅動頁面?
?
?10、刪除現有的全部驅動
?11、添加驅動jar包
12、測試連接數據庫?
連接正常。?