cloudbeaver创建新的数据库驱动

github下载cloudbeaver的源码

https://github.com/dbeaver/cloudbeaver.git

执行cloudbeaver\deploy\build.bat

该脚本中会同时下载dbeaver等项目的源码

以创建impala数据库连接为例:

  1. 创建目录:cloudbeaver\server\drivers\impala

  2. 目录下创建pom.xml:


    4.0.0
    drivers.impala
    1.0.0

    io.cloudbeaver
    drivers
    1.0.0
    ../

    复制代码
     <properties>
         <deps.output.dir>impala</deps.output.dir>
     </properties>
    
     <dependencies>
       <dependency>
         <groupId>com.xxx</groupId>
         <artifactId>impalaJDBC42</artifactId>
         <version>1.0</version>
       </dependency>
     </dependencies>
  3. 修改文件:cloudbeaver\server\bundles\io.cloudbeaver.resources.drivers.base\plugin.xml

    复制代码
     <!-- Bundles  -->
     <extension point="org.jkiss.dbeaver.product.bundles">
         <bundle id="drivers.db2" label="DB2 drivers"/>
         <bundle id="drivers.duckdb" label="DuckDB drivers"/>
         <bundle id="drivers.jt400" label="DB2 iSeries drivers"/>
         <bundle id="drivers.mysql" label="MySQL drivers"/>
         <bundle id="drivers.mariadb" label="MariaDB drivers"/>
         <bundle id="drivers.oracle" label="Oracle drivers"/>
         <bundle id="drivers.postgresql" label="PostgreSQL drivers"/>
         <bundle id="drivers.clickhouse" label="Clickhouse (legacy) drivers"/>
         <bundle id="drivers.clickhouse_com" label="Clickhouse drivers"/>
         <bundle id="drivers.firebird" label="Firebird drivers"/>
         <bundle id="drivers.h2" label="H2 drivers"/>
         <bundle id="drivers.h2_v2" label="H2 v2 drivers"/>
         <bundle id="drivers.sqlite.xerial" label="SQLite drivers"/>
         <bundle id="drivers.mssql.new" label="SQL Server drivers"/>
         <bundle id="drivers.trino" label="Trino drivers"/>
         <bundle id="drivers.kyuubi" label="Apache Kyuubi drivers"/>
         <bundle id="drivers.databend" label="Databend drivers"/>
         <bundle id="drivers.impala" label="impala"/>
     </extension>
    
     <!-- Enabled drivers -->
     <extension point="io.cloudbeaver.driver">
         <driver id="db2:db2"/>
         <driver id="db2_i:db2_iseries"/>
         <driver id="mysql:mysql8"/>
         <driver id="mysql:mariaDB"/>
         <driver id="oracle:oracle_thin"/>
         <driver id="postgresql:postgres-jdbc"/>
         <driver id="jaybird:jaybird"/>
         <driver id="clickhouse:yandex_clickhouse"/>
         <driver id="clickhouse:com_clickhouse"/>
         <driver id="h2:h2_embedded"/>
         <driver id="h2:h2_embedded_v2"/>
         <driver id="sqlite:sqlite_jdbc"/>
         <driver id="sqlite:libsql_jdbc"/>
         <driver id="sqlserver:microsoft"/>
         <driver id="generic:trino_jdbc"/>
         <driver id="generic:duckdb_jdbc"/>
         <driver id="generic:kyuubi_hive"/>
         <driver id="databend:databend"/>
         <driver id="generic:impala"/>
     </extension>
  4. 修改dbeaver项目中的文件:
    dbeaver\plugins\org.jkiss.dbeaver.ext.generic\plugin.xml

    复制代码
                <driver id="impala"
                         label="impala"
                         icon="icons/impala_icon.png"
                         iconBig="icons/impala_icon_big.png"
                         description="Cloudera Impala. You can download JDBC driver files from https://www.cloudera.com/"
                         class="com.cloudera.impala.jdbc.Driver"
                         sampleURL="jdbc:impala://{host}:{port}/{database}"
                         defaultPort="21050"
                         supportedConfigurationTypes="MANUAL,URL"
                         categories="hadoop"
                         custom="true">
                     <file type="jar" path="drivers/impala" bundle="drivers.impala"/>
                     <parameter name="read-only-data" value="false"/>
                     <parameter name="supports-indexes" value="true"/>
                     <parameter name="all-objects-pattern" value="%"/>
                     <parameter name="quote-reserved-words" value="true"/>
                     <parameter name="omit-schema" value="false"/>
                     <parameter name="supports-table-constraints" value="true"/>
                     <parameter name="schema-filters-enabled" value="false"/>
                     <parameter name="supports-delimiter-in-views" value="true"/>
                     <parameter name="supports-embedded-database-creation" value="true"/>
                     <parameter name="supports-struct-cache" value="true"/>
                     <parameter name="supports-truncate" value="true"/>
                     <parameter name="read-only-meta-data" value="false"/>
                     <parameter name="omit-type-cache" value="false"/>
                     <parameter name="split-procedures-and-functions" value="false"/>
                     <parameter name="supports-stored-code" value="true"/>
                     <parameter name="supports-references" value="true"/>
                     <parameter name="supports-multi-insert" value="false"/>
                     <parameter name="omit-catalog-name" value="false"/>
                     <parameter name="supports-catalog-selection" value="true"/>
                     <parameter name="omit-single-catalog" value="false"/>
                     <parameter name="ddl-drop-column-brackets" value="false"/>
                     <parameter name="omit-single-schema" value="false"/>
                     <parameter name="supports-scroll" value="false"/>
                     <parameter name="omit-catalog" value="false"/>
                     <parameter name="supports-views" value="true"/>
                     <parameter name="script-delimiter" value=";"/>
                     <parameter name="legacy-sql-dialect" value="false"/>
                     <parameter name="script-delimiter-after-query" value="false"/>
                     <parameter name="use-search-string-escape" value="false"/>
                     <parameter name="supports-multiple-results" value="false"/>
                     <parameter name="script-delimiter-after-block" value="false"/>
                     <parameter name="supports-schema-selection" value="true"/>
                     <parameter name="alter-table-add-column" value="false"/>
                     <parameter name="ddl-drop-column-short" value="false"/>
                     <parameter name="supports-limits" value="true"/>
                     <parameter name="supports-select-count" value="true"/>
                     <parameter icon="platform:/plugin/org.jkiss.dbeaver.model/icons/connection/database_icon.png"/>
                 </driver>
  5. 再次执行打包脚本:cloudbeaver\deploy\build.bat

相关推荐
程序员清风4 分钟前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
正在走向自律1 小时前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
程序员塔塔喵1 小时前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
独隅2 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
_孤傲_2 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
数字新视界4 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB4 小时前
从 StarRocks 走向 Apache Doris:如何实现引擎平滑替换与架构升级?
大数据·数据库·数据分析
为思念酝酿的痛4 小时前
MySQL的操作
数据库·mysql
猫咪很可爱4 小时前
Oracle ORA-4031 错误分析与处理:SGA 内存不足导致 update/exp/expdp 失败
数据库·oracle
小豆庄5 小时前
视频素材处理时的隐私盲区:云处理与本地处理的边界在哪
数据库·图像处理·视频·敏捷流程