[IDEA]社区版IDEA的数据库连接插件(DB Navigator)

0 序言

  • 原先使用的DBeaver 21.x.x,在连接华为云的Clickhouse时,库内的表始终无法现实。不知是华为云的Clickhouse有毛病,还是自己的DBeaver版本太多所致。

  • IDEA社区版不支持数据库连接插件,那么,有没有比较通用的数据库连接插件呢?

  • 通用:即指不仅能连接MySQL,还能连接支持JDBC的任意数据库,例如:Clickhouse等
  • 初步调研了下,答案是:有————DB Navigator
  • 等我用完一段时间后,再来完善和judge这个插件工具。

使用完毕后的第一感受:不好用,赶紧撤!
第二感受:IDEA除了它官方商业版的数据库连接插件外,第三方的数据库插件都做得不咋滴!
第三感受:还是继续用我的DBeaver吧!

博主最终还是DBeaver 21.x.x 升级至了 DBeaver 23.0.4(升级/安装步骤,参见博文的最后一章节)

1 IDEA插件的安装操作步骤

Step1 安装插件(DB Navigator)

  • Step1.1 IDEA-File-Settings-Plugins-搜索:DB Navigator

  • Step1.2 重启IDEA

Step2 下载JDBC驱动包

Clickhouse为例

http://clickhouse.com/docs/zh/interfaces/jdbc

Step3 在IDEA中打开数据源连接插件的面板

  • Step3 IDEA-View-Tool Windows-DB Browser

Step4 配置数据源,并测试连通性

2 DBeaver 23.0.4 的安装思路

  • Step1 下载DBeaver安装包(Windows x64 / zip包)

http://dbeaver.io/download/
http://dbeaver.io/files/
http://dbeaver.io/files/23.0.4/

  • Step2 下载 Oracle JDK 17版本及以上的JDK ZIP包

http://www.oracle.com/cn/java/technologies/downloads/#java17

  • 由于公司项目还是用的JDK8,故不建议以Installer方式安装JDK17到电脑上
  • 以解决如下问题
!SESSION 2023-05-25 18:51:52.573 -----------------------------------------------
eclipse.buildId=unknown
java.version=17.0.6
java.vendor=Eclipse Adoptium
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN
Command-line arguments:  -os win32 -ws win32 -arch x86_64

!ENTRY org.jkiss.dbeaver.cmp.simple 4 0 2023-05-25 18:51:53.993
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.jkiss.dbeaver.cmp.simple [175]
  Unresolved requirement: Require-Bundle: org.jkiss.dbeaver.registry; visibility:="reexport"
    -> Bundle-SymbolicName: org.jkiss.dbeaver.registry; bundle-version="1.0.99.202305071722"; singleton:="true"
       org.jkiss.dbeaver.registry [252]
         Unresolved requirement: Require-Bundle: org.objectweb.asm

	at org.eclipse.osgi.container.Module.start(Module.java:463)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1852)
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1845)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1786)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1750)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1672)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)

!ENTRY org.jkiss.dbeaver.cmp.simple.ui 4 0 2023-05-25 18:51:53.999
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.jkiss.dbeaver.cmp.simple.ui [176]
  Unresolved requirement: Require-Bundle: org.jkiss.dbeaver.ui.editors.sql
    -> Bundle-SymbolicName: org.jkiss.dbeaver.ui.editors.sql; bundle-version="1.0.105.202305071722"; singleton:="true"
...
  • Step3 解压,并配置DBeaver目录下的dbeaver.ini配置文件

在配置文件首行前追加如下内容:

-vm
D:\Program\Java\jdk-17.0.7\bin\javaw.exe
  • Step4 打开DBeaver、运行使用

Y 推荐文献

  • Download - DBeaver Community

X 参考文献

  • Interfaces/JDBC Driver - Clickhouse Docs
  • IDEA(社区版)数据库插件 DB Navigator 之安装与连接数据库(修改时区) - CSDN
  • 从JDK8飞升到JDK17,再到未来的JDK21 - Zhihu/阿里技术
QQ沟通交流群 本文作者千千寰宇
本文链接: http://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
本文转载于网络 如有侵权请联系删除

相关文章

  • 《JavaScript 模式》读书笔记(6)— 代码复用模式2「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。  上一篇讲了最简单的代码复用模式,也是最基础的,我们普遍知道的继承模式,但是这种继承模式却有不少缺点,我们下面再看看其它可以实现继承的模式。四、类式继承模式#2——借用构造函数本模式解决了从子构造函数到父构造函数的参数传递问题。本模式借用了父构造函数,它传递子对象以绑定到this,并且还转发任意参数。functionChild(a,c,b,d){ parent.apply(this,arguments); }复制  在这种方式中,只能继承在父构造函数中添加到this的属性。同时,并不能继承那些已添加到原型中的成员。  使用该借用构造函数模式时,子对象获得了继承成员的副本,这与类式继承模式#1中,仅获取引用的方式是不同的。下面的例子演示了其差异://父构造函数 functionArticle(){ this.tags=['js','css']; } vararticle=newArticle(); //blog文章对象继承了article对象 //viatheclassicalpattern#1 func

  • CnPeng说 | “快应用”的慢节奏

    在Android手机中,除了标准的APK应用程序之外,还有各大厂商推出的小程序,其中以微信小程序最为人所熟知。此外,还有一种即将3周岁的"快应用"。1.快应用的诞生2018年3月,在微信小程序诞生一年多以后,九大手机厂商联合推出了快应用。这九大厂商分别是:华为、小米、中兴、金立、联想、魅族、努比亚、OPPO、vivo。快应用本质上也是一种小程序,也具有无需安装、触手可及、用完即走、无需卸载的特点。但是,它的推出主体是手机硬件厂商,厂商的操作系统会针对快应用有一定的优化。而且,在运行时,它无需依附宿主应用(微信小程序的宿主应用就是微信)。在快应用的官网上我们可以看到,目前快应用联盟的成员有12个,如下图:根据手机品牌的不同,快应用在不同手机中的入口也各不相同,但主要是集中在负一屏和菜单栏下拉中。那么,手机厂商为什么要做快应用呢?2.为什么要做快应用?我们大家都知道,每个品牌的手机都会有自己的应用商店,而且这个应用商店是预置在系统中不可卸载的。Android开发者开发应用之后,必须在主流厂商的商店上架,否则曝光率可能就会变得很低,从而影响了应用的分发效果和使用效果。手机

  • 2021年,愿遇见更好的自己,加油!

    一转眼,2020年就这么要结束了,转眼就要来到了2021年,到2021年1月,回来参与创业已经有2年余5个月,照例总结一下我的2020年吧,2020年因为疫情的原因,很多计划中的事情或多或少的耽搁了,但是总体来说还是按计划做了不少事。站在2020年的尾巴上,翘首期待着2021年。这一年,创业的项目总体系统基本搭建完成,从终端-APP-后端系统完成了联调,基本功能已经运行OK,终端的结构设计也已经基本定型,运用3D打印技术做了20套+,并且整个系统也在客户现场开始试运行了。这期间确实遇到了很多困难,终端的软硬件开发完成了从试验品(桌上一堆堆模块,一堆堆线连接而成)到基本成型品的蜕变,期间硬件经历了1次PCB改版,弯路走的还不算多,终端软件经历了无数次的迭代,最终一一排除BUG,达到了理想的稳定效果;APP从0开发出所需功能均已齐全、稳定的成品,Android开发起初是一项很大的挑战,随着学习开发的深入,慢慢也变得得心应手起来,测试了市面上的大部分主流手机,包括小米、一加、VIVO、华为、OPPO等,最终获取一个比较稳定的版本,APP开发是今年一项较大的突破;后端系统结合了公司门户网站和A

  • Android加密之全盘加密详解

    前言Android的安全性问题一直备受关注,Google在Android系统的安全方面也是一直没有停止过更新,努力做到更加安全的手机移动操作系统。在Android的安全性方面,有很多模块:1内核安全性 2应用安全性 3应用签名 4身份验证 5TrustyTEE 6SELinux 7加密 等等其中,加密又分全盘加密(Android4.4引入)和文件级加密(Android7.0引入),本文将论述加密中的全盘加密的基本知识。全盘加密在Android4.4中引入,在Android5.0中做了比较大的更新。本文部分片段摘自Android官网,融合笔者的个人理解和知识。什么是全盘加密全盘加密是使用已加密的密钥对Android设备上的所有用户数据进行编码的过程。设备经过加密后,所有由用户创建的数据在写入磁盘之前都会自动加密,并且所有读取操作都会在将数据返回给调用进程之前自动解密数据。Android5.0中又引入了以下新功能:创建了快速加密方式,这种加密方式只会对数据分区中已使用的分块进行加密,以免首次启动用时过长。目前只有EXT4和F2FS文件系统支持快速加密。添加了forceencryptfsta

  • 让计算机明白「天天」代表「每一天」之后,如何避免让它认为「爸爸」代表「每个爸」

    AI研习社按:类比推理是反映语言规则的一种高效方式,本文将介绍一种汉语语言推理任务,论文作者来自北京师范大学和中国人民大学,论文题为:汉语形态语义关系的类比推理(论文地址:http://aclweb.org/anthology/P18-2023)。该论文在ACL2018大会上发表,相关资源在Github发布后获得了超过2000星好评。AI科技评论将论文内容概括如下(感谢论文作者对本文的审核和修改)。类比推理可以很好地刻画语言规则,举例说明,「人」等价于person,「人人」则等价于英文的everyperson,那么如果「天」代表day,我们就可以类比推理「天天」代表everyday。目前类比推理也是评估词嵌入的一个可靠方法。类比推理还可以用于词形转换、语义关系探测和翻译未知词等任务。但是不同语言之间拥有很大的形态差异,类比推理针对各个语言的研究也不尽相同。以汉语来说,汉语是公认的缺乏词形变化的分析性语言。目前汉语类比推理的相关工作也屈指可数,仅有的中文类比数据集也只是英文数据集的部分翻译,且数据规模较小,只包含134个中文词,并且不涉及到任何语法知识。因此,作者团队决定深入研究汉语类比

  • 互联网金融行业全景及展望(40页PPT)

    点击标题下「大数据文摘」可快捷关注闲言少叙,直接上PPT!

  • 如何搭建邮件服务器

    一、国内的邮件服务提供商:   亿业科技 http://ui.easeye.com.cn/wiki/index.php/Webservice方法-SendMailListRequestByGroup接口   EwoMail.com深圳智沃科技有限公司   二、开源方案:   Postfix+Amavisd+ClamAV+SpamAssassin 可以满足一般的需求,是比较简单的邮件反垃圾病毒解决方案。   ***MX记录:MX记录存在于域名的DNS文件中,用于将某个域名的电子邮件指向到对应的邮件服务器处理。  ***A记录:是用来指定主机名(或域名)对应的IP地址记录。   三、你需要知道的软件及功能:   ***postfix: IBM的GPL协议之下开发的MTA(邮件传输代理)软件。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。主要竞争对手Exim,Qmail。   ***Nginx:一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务

  • flink入门(三)——DataStream API

    一、概述   1.大致流程:主要分五步 获取一个执行环境 加载/创建初始数据 指定数据上的转换 指定计算结果放在哪里 触发程序执行复制  详细步骤,可以参考:https://www.cnblogs.com/cjsblog/p/12967555.html  1)在sacla中可以通过静态方法获取执行环境:(根据上下文自动推断) valenv=StreamExecutionEnvironment.getExecutionEnvironment()复制  2)DataSource数据输入     主要包含:内置数据源和第三方数据源Connector,例如KafkaConnector等     从文件中读取数据示例: DataStream<String>text=env.readTextFile("file:///path/to/file");复制      从kafka读取示例如下:       https://blog.csdn.net/u013076044/article/details/102651473 二、Transfrom算子   1.map  

  • 深拷贝浅拷贝

    #copy模块中有浅拷贝和深拷贝两种方法(1)浅拷贝:浅拷贝只拷贝外层列表内层列表跟随原列表进行改变 #浅拷贝copy.copy(listvar)或者listvar.copy()(2)深拷贝:拷贝整个列表内外列表都不跟随原列表进行改变 #深拷贝copy.deepcopy(listvar)注意:copy模块的copy方法和python内置的函数copy一样都是浅拷贝

  • 第01组 Alpha冲刺(1/4)

    队名:十个憨憨 组长博客:https://www.cnblogs.com/tong-/p/11865257.html 作业博客:https://www.cnblogs.com/lsyqlelel/p/11866955.html 组员项目进度: 燃尽图,Github代签记录(组内共享): 成员一 林易丰 过去两天完成了哪些任务 文字/口头描述 了解了微信小程序的开发流程 接下来还有什么任务 了解后端部分的任务,明确自己的任务,初步完成代码 还剩下哪些任务 完成自己部分的代码 遇到了哪些困难 暂时没遇到 有哪些收获和疑问 大致了解了小程序开发,初步明确了任务 成员二 张泽宇 过去两天完成了哪些任务 文字/口头描述 注册了微信公众平台及小程序,并添加了组员为开发者。 接下来还有什么任务 进行云开发的准备。 还剩下哪些任务 遇到了哪些困难 没接触过小程序不知道怎么做。 有哪些收获和疑问 查阅资料后有了一定的知识了。 成员三 黄皓 过去两天完成了哪些任务 文字/口头描述 复习了html、css、JavaScript的部分知识 了解了关于小程序开发的流程,

  • python爬虫(一)

      爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 cookies是什么? cookies存储在客户端,被称为浏览器cookie或跟踪cookies,cookies是一种小型的,经常加密的文本文件,位于浏览器目录中。当用户的浏览器加载特定网站时,Cookies就会被创建。网站将信息发送到浏览器,然后创建文本文件。每次用户回到同一个网站,浏览器就会检索并将这个文件发送到网站的服务器上。网站服务器设置cookies以帮助验证用户,如果用户登录到一个安全区域的网站。登录信息存储在cookie中,这样用户就可以进入和离开网站,而无需重复输入相同的身份验证信息。 session是什么? session存储在服务器端,,我们知道,我们用浏览器打开一个网页,用到的是HTTP协议,学过计算机的应该都知道这个协议,它是无状态的,什么是无状态呢?就是说这一次请求和上一次请求是没有任何关系的,互不认识的,没有关联的。但是这种无状态的的好

  • MYSQL入门

    安装数据库、配置环境变量这里就不赘述了。   1、系统命令 netstartmysql     开启数据库 netstopmysl   关闭数据库   1.1登录数据库 mysql-h127.0.0.1-uroot-ppassword  -u  --username=name,用户名 -h  --host=name,服务器名称 -p  --password[=pwd],密码 -D  --database=name,打开指定数据库 --prompt=name,设置命令提示符 --delimiter=name,指定分割符 -V--version,输出版本信息 1.2退出数据库 exit quit \q ctrl+c 1.3命令提示符 命令提示符常用参数 \D  完整的日期 \d  当前的数据库 \h  服务器名称 \U  当前的用户名 mgsql>prompt \D`\d`\h`\u   1.5、mysql常用命令   selectversion();  显示当前版本   selec

  • 从零开始搭建GR5513工程

    1.下载官方最新SDK 本文所建立工程中的文件都是提取自官方SDK包中的部分内容。 传送门:https://product.goodix.com/zh/product/ble/family/gr551x#document 将下载好的zip文件解压到任意目录 2.安装Keil开发环境 为何使用Keil?虽然GR551XSDK文档中说明了支持GCC编译环境,但是当你打开SDK包却会发现提供的demo工程都是基于Keil的。 并且makefile还需要使用python脚本从uvprojx转换得到,为了少踩坑这里使用Keil集成开发环境。 安装Keil-MDK530 这里的ULINKUSB驱动,如果没有ULINK调试器,建议都选择否,没必要安装。 GR551X支持JLink,并且由于GR551XBOOTROM带串口功能,因此最少只需要一个几块钱的USB转串口模块即可进行开发。 KeilMDK安装完成后会弹出更新Pack包的界面,这里把Packs->Checkforupdatesonlaunch关掉即可。 破解KeilMDK 以管理员模式运行keil程序 选择File->

  • 迅雷下载百度云文件

    方法1:先将要下载的文件保存至自己的百度网盘,在网址中间把disk改为wap(比如原先的网址为http://pan.baidu.com/disk/home,修改后的网址为http://pan.baidu.com/wap/home),回车,选择文件下载即可。 方法2:对于别人的分享链接(长链接),把网址当中含有的share改为wap,就可以进行下载。 2015-04-06

  • 后端返回64位数据,前端如何处理?

    JavaScript的数值范围问题   JavaScript只有一种数据类型Number来表示数字,它是双精度64位浮点类型。如下图所示,可以看到,使用52位作为尾数位,整数就是存储在这里;然后使用11位作为指数位,1位作为符号位。             而Number规定的“安全”整数范围就是-(2^53-1)~2^53-1,所谓“安全”就是指在这个数值范围内的算术运算是可以保证精度的,不会出现精度丢失的问题。而超出这个范围的算术运算则会出现精度丢失的情况,如下图所示:   letnum=2**53; console.log(num);//9007199254740992 console.log(num+1);//9007199254740992,出现精度丢失复制      注意:为什么使用52位作为尾数位存储整数却能达到53次方呢?因为在浮点数表示法的规范中默认第一位是1,且这个第一位可以省略,因此就节省了一位,这样就可以达到53次方。   后端返回64位数据,前端如何处理?   可以将后端传过来的数据转换为字符串形

  • 【Yii2.0】1.4 Apache2.4.23基于主机名的虚拟主机配置

    1.配置虚拟主机之前,我们先配置两个本地域名,打开C:\Windows\System32\drivers\etc\hosts,添加两个域名,同ip不同域名 2.新建两个目录,作为apache服务的根目录 3.找到D:\PHPServer\Apache24\conf\httpd.conf,502行,打开httpd-vhosts.conf配置 4.找到D:\PHPServer\Apache24\conf\extra\httpd-vhosts.conf,添加如下配置 <VirtualHost*:80> DocumentRoot"D:/PHPServer/Apache24/htdocs/test1" ServerNametest1.local.com <Directory"D:/PHPServer/Apache24/htdocs/test1"> OptionsIndexesFollowSymLinks AllowOverrideNone Requireallgranted </Directory> </VirtualHost> <

  • Axios的使用

    Axios的使用方法 Axios是一个基于promise的HTTP库,可以用在浏览器和node.js中。   实现步骤: -从浏览器中创建[XMLHttpRequests](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) -从node.js创建[http](http://nodejs.org/api/http.html)请求 -支持[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)API -拦截请求和响应 -转换请求数据和响应数据 -取消请求 -自动转换JSON数据 -客户端支持防御[XSRF](http://en.wikipedia.org/wiki/Cross-site_request_forgery) //在Vue全局变量设置了$axios=axios //以后每个组件使用时:this.$axios Vue.prototype.$axio

  • 计算机视觉——图像处理基础

    一、图像轮廓和直方图 1.1原理     图像轮廓:因为绘制轮廓需要对每个坐标的像素值施加一个阈值,所以首先需要将图像灰度化。     直方图:用来表征该图像像素值得分布情况。用一定的小区间来指定表征像素值的范围,每个小区间会得到落入该小区间表示范围的像素数目。——》hist()函数:参数二:指定小区间的数目。参数一:只接受一维数组作为输入,因此在绘制图像直方图前,必须对图像进行压平处理。1.1图像轮廓和直方图得实现    在原点的左上角显示轮廓图像 contour(im,origin='image')。 #-*-coding:utf-8-*- fromPILimportImage frompylabimport* #添加中文字体支持 frommatplotlib.font_managerimportFontProperties font=FontProperties(fname=r"c:\windows\fonts\SimSun.ttc",size=14) im

  • 从红米手机经常发生UIM没有服务的一些猜想

    缘起:买了测试用的红米手机,安装电信卡,经常生UIM没有服务,大约两天1次。        我的解决办法:飞行模式切换一下就恢复正常。     之前这张卡用三星的信号是满格,红米断开挺经常的   上网搜索: 同样的现象,还好官方并未删帖处理。 http://faq.xiaomi.cn/q-13199.html 2013/08/20 我是7月20日左右买到的 开始的时候没有这种情况后来有些电话进不来造成很多麻烦 才发现这种情况 一般我就是重启一次或者两次就好了 但是这两天即使重启了 也不行 根据官网上工程师的指点清除数据后也是不行  希望小米能够做一款 一旦发生UIM没有服务时 就用警告音提示的软件好吗 起码不会误事啊   我的想法:    1.为什么红米手机的开发人员,不会像这样做:尝试飞行模式切换一下   经常不会误事

  • Scala 元组

    与列表一样,元组也是不可变的,但与列表不同的是元组可以包含不同类型的元素。 元组的值是通过将单个的值包含在圆括号中构成的。例如: valt=(1,3.14,"Fred")复制 以上实例在元组中定义了三个元素,对应的类型分别为[Int,Double,java.lang.String]。 此外我们也可以使用以上方式来定义: valt=newTuple3(1,3.14,"Fred")复制 元组的实际类型取决于它的元素的类型,比如(99,"runoob")是Tuple2[Int,String]。('u','r',"the",1,4,"me")为Tuple6[Char,Char,String,Int,Int,String]。 目前Scala支持的元组最大长度为22。对于更大长度你可以使用集合,或者扩展元组。   访问元组的元素可以通过数字索引,如: valt=(4,3,2,1)复制 我们可以使用t._1访问第一个元素,t._2访问第二个元素,如下所示: objectTest{ defmain(args:Array[String]){ valt=(4,3,2,1) v

  • 51学习笔记之使用printf打印串口数据

    #include<reg51.h> #include<stdio.h> voidUartInit(void)//初始化波特率为9600 { SCON=0x50; TMOD=0x20; TCON=0x40; TH1=0xfd; TI=1; TR1=1; } voidmain() { UartInit(); printf("helloworld");//输出一次数据 while(1); } 复制

相关推荐

推荐阅读