软件研究之DBeaver
我有台电脑使用的是Deepin系统,所以就需要一个linux版本的SQL SqlServer管理客户端。使用DBeaver就可以。
除了SqlServer之后,DBeaver还支持以下数据库:
问题:
1.导出sql语句时丢失了id列
这种情况,多半是因为id列在SQL Server列中是自动增长的,在导出数据是要选中导出自动增长列
1.Configure SQL Server on Linux with the mssql-conf tool
2.What are the best SQL clients for Linux?
3.DBeaver Community
2.Must specify port after ‘:’ in connection string
要正确编写ip地址,不用带http和端口
3.DBeaver连接mysql驱动下载失败问题
下载mysql的驱动总是失败,使用了代理也不行,添加了阿里云的maven仓库也不行。
没有办法,只能去maven仓库手动下载了jar包,然后放到了自定义路劲下。或者是放到默认的路径:/home/zhf/.local/share/DBeaverData/drivers/maven/maven-central/mysql 下,或者其他路径下,反正只要是能找到这个位置就好了,比如在windows上可以放到: C:\Program Files\DBeaver\plugins 路径下。
然后右键数据库编辑连接->编辑驱动,打开编辑驱动设置,选择库文件,将不需要的依赖进行删除。
然后再添加新的,自己下载的jar文件,就好了。
4.Utility ‘mysqldump.exe’ not found in client home ‘MySQL Binaries’ (D:\soft\DBeaver\MySQL Binaries)
使用Dbeaver进行数据备份的时候,就会出现问题,意思是没有找到相应的程序。只需要将MySQL免安装版下载下来,然后放到DBeaver的安装目录下MySQL Binaries就好了,我这里是(D:\soft\DBeaver\MySQL Binaries)
或者是通过DBeaver下载相关的mysqldump.exe。点击client->选择Native Client->浏览,DBeaver就会自动下载相关的程序,然后放到默认的路径下。下载完成之后,就可以继续进行备份了。
5.DB::Exception: Cannot modify ‘max_result_rows’ setting in readonly mode
选择 数据库->驱动管理->clickhouse->编辑->高级参数—> 去掉(Driver supports result set limit)与 (Driver supports structure cache) 选项的对勾。
1.【解决】Dberver 连接 ClickHouse SQL 错误 [164]:Cannot modify max_result_rows setting in readonly mode
6.Public Key Retrieval is not allowed
使用DBeaver连接MySQL8.0的时候,出现了这个问题。解决方法就是在新建连接时的驱动属性中,将驱动属性里->连接属性,设置 allowPublicKeyRetrieval 的值为 true,如果没有就右键新添加一个值。
7.还没有设置连接地址
使用Dbeaver右键数据库->工具,进行sql文件执行的时候,出现了 ”还没有设置连接地址“。
(1) 先找到mysqldump的路径
1 | whereis mysqldump |
(2) 客户端点击编辑连接
(3) 在连接设置,本地客户端设置中,添加数据库地址,选择第一步找到的 mysqldump 的上级目录
8.执行sql脚本中文乱码
当我创建了一个数据库之后,使用工具->执行脚本的方式进行数据库导入,原先好好的,但是执行完了之后,中文就变成了乱码,我新建数据库的时候选择了UTF8编码,sql文件的编码格式也是UTF8,但是导入之后就变成了乱码。
真是奇怪了,更加奇怪的是,其他的数据库用同样的方式进行导入,竟然不会出现乱码。
【解决】
(1)可以新建数据库之后,新建sql编辑器,将脚本复制到编辑框中,然后选择执行脚本。
(2)如果使用普通的执行脚本的方式报错,那就右键编辑器,选择 执行脚本
(3)在脚本的开头,增加编码设置
1 | SET NAMES 'utf8'; |
1.解决dbeaver 乱码问题
2.执行sql脚本时出现中文乱码
3.DBeaver打开sql脚本中文乱码
4.Dbeaver导入sql脚本方法(存储过程)及乱码解决方案
5.DBeaver导入脚本中文乱码 如果是普通执行SQL 模式会报错,需要执行脚本模式。
6.dbeaver导入sql脚本乱码 1.设置 DBeaver 的编码。2.在 SQL 脚本文件中添加字符集声明。3.将 SQL 脚本文件转换为 UTF-8 编码。4.重新生成 SQL 脚本文件。
9.Use Windows trust store
下载驱动的时候出现: “Network unavailable due to certificate issue.Try changing the setting Use Windows trust store
in Preferences->Connections and restart DBeaver. It might help if you haven’t overridden trust store.”
【解决方案】
打开菜单栏->窗口->首选项->连接,将 “Use Windows trust store”,取消勾选,然后重启Dbeaver
10.postgresql链接显示不全
明明有数据库,但是就是显示不出来。
【解决方案】
(1)右键编辑链接
(2)选择 PostgreSQL,然后选中:“显示非缺省的数据库”、“显示模版数据库”、“显示无法连接的数据库”
1.DBeaver链接数据库,数据库表显示不全
11.Utility ‘mysqldump’ not found in client home ‘/usr/local/Cellar/mysql/8.0.26’ (/usr/local/Cellar/mysql/8.0.26)
【解决方案】
1.复制 mysql.exe and mysqldump.exe 到Dbeaver文件夹
2.或者在连接的时候,选择本地客户端。
12.Error downloading file ‘libcrypto-1_1-x64.dll’: PKIX path building failed:
【解决方案】
就是下载 libcrypto-1_1-x64.dll 程序,然后放到 C:\Windows\System32 文件夹下。
13.CreateProcess error=193, %1 不是有效的 Win32 应用程序
执行数据库脚本的时候弹出这个错误,显示乱码:“CreateProcess error=193, %1 涓嶆槸鏈夋晥鐨� Win32 搴旂敤绋嬪簭銆� ”
【解决方案】
重新给DBeaver指定有效的mysql安装的bin目录下mysql.exe即可:
(1)选中当前的mysql连接,右键:
(2)编辑连接 - 主要 - 本地客户端 - 浏览 - 添加数据库地址
(3)在这里选择自己安装的有效mysql的bin目录即可。
14.设置界面为英文
执行sql脚本的时候,总是出现中文乱码,最后我干脆就直接重新安装了,安装成了英文。
1.dbeaver 的界面乱码
15.数据库显示不全
(1)右键连接,编辑连接。 在「连接设置」「PostgreSQL」里面,勾选上「显示非缺省的数据库」就可以了。我这里的版本是显示所有数据库。
(2)重新连接就可以看到所有数据库。
17.Unknown command ‘\n’.
我在新建数据库中,导入 jeecg boot 的数据时,总是遇到问题,在 macos 上就不会遇到问题:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘’loaded(){\n this.$nextTick(()=>{\n let text = '测试js增强设置默认å’ at line 1
这个真是令我很恼火。
【解决方案】
就是在执行导入或者是执行脚本的时候,增加额外的命令行参数 –default-character-set=utf8