diff --git a/deploy/build-backend.sh b/deploy/build-backend.sh
index ba401ce61f..9d752b3813 100755
--- a/deploy/build-backend.sh
+++ b/deploy/build-backend.sh
@@ -11,17 +11,8 @@ mkdir ./cloudbeaver/server
mkdir ./cloudbeaver/conf
mkdir ./cloudbeaver/workspace
-echo "Pull cloudbeaver platform"
-
-cd ../..
-
-echo "Pull dbeaver platform"
-[ ! -d dbeaver ] && git clone --depth 1 https://github.com/dbeaver/dbeaver.git
-[ ! -d dbeaver-common ] && git clone --depth 1 https://github.com/dbeaver/dbeaver-common.git
-[ ! -d dbeaver-jdbc-libsql ] && git clone --depth 1 https://github.com/dbeaver/dbeaver-jdbc-libsql.git
-
-
-cd cloudbeaver/deploy
+echo "Pull and patch build deps (dbeaver, dbeaver-common, dbeaver-jdbc-libsql)"
+./scripts/clone-build-deps.sh
echo "Build CloudBeaver server"
diff --git a/deploy/scripts/clone-build-deps.sh b/deploy/scripts/clone-build-deps.sh
new file mode 100755
index 0000000000..a694c59559
--- /dev/null
+++ b/deploy/scripts/clone-build-deps.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+# 在本地拉取构建 CloudBeaver 所需的依赖仓库(dbeaver、dbeaver-common、dbeaver-jdbc-libsql)
+# 并可选地对 dbeaver 打达梦驱动补丁。
+# 应在 cloudbeaver 仓库的上一级目录执行,使 dbeaver 与 cloudbeaver 同级。
+set -Eeo pipefail
+
+# 分支/标签,与 server/pom.xml 使用的 DBeaver 版本对应
+DBEAVER_BRANCH="${DBEAVER_BRANCH:-release_25_2_1}"
+
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+# deploy/scripts -> deploy -> cloudbeaver;再上一级 = 与 cloudbeaver 同级的目录
+CLOUDBEAVER_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
+PARENT_DIR="$(dirname "$CLOUDBEAVER_ROOT")"
+cd "$PARENT_DIR"
+
+echo "Clone/build deps under: $PARENT_DIR"
+echo "DBeaver branch: $DBEAVER_BRANCH"
+
+[ ! -d dbeaver ] && git clone --depth 1 -b "$DBEAVER_BRANCH" https://github.com/dbeaver/dbeaver.git
+[ ! -d dbeaver-common ] && git clone --depth 1 -b "$DBEAVER_BRANCH" https://github.com/dbeaver/dbeaver-common.git
+[ ! -d dbeaver-jdbc-libsql ] && git clone --depth 1 -b "$DBEAVER_BRANCH" https://github.com/dbeaver/dbeaver-jdbc-libsql.git
+
+# 对 dbeaver 打达梦驱动补丁
+"$SCRIPT_DIR/patch-dbeaver-dameng.sh" "$(pwd)/dbeaver"
+
+echo "Clone and patch done. You can run build from cloudbeaver/deploy (e.g. ./build-backend.sh)."
diff --git a/deploy/scripts/patch-dbeaver-dameng.sh b/deploy/scripts/patch-dbeaver-dameng.sh
new file mode 100755
index 0000000000..7ad634d5e7
--- /dev/null
+++ b/deploy/scripts/patch-dbeaver-dameng.sh
@@ -0,0 +1,57 @@
+#!/bin/bash
+# 在 DBeaver generic 插件中插入达梦( dameng_jdbc )驱动定义
+# 用法: 从 cloudbeaver 仓库根目录的上一级执行;或传入 dbeaver 根目录
+set -e
+
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+if [ -n "$1" ]; then
+ DBEAVER_ROOT="$1"
+else
+ DBEAVER_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)/../dbeaver"
+fi
+
+PLUGIN_XML="${DBEAVER_ROOT}/plugins/org.jkiss.dbeaver.ext.generic/plugin.xml"
+if [ ! -f "$PLUGIN_XML" ]; then
+ echo "DBeaver plugin.xml not found: $PLUGIN_XML"
+ echo "Usage: $0 [dbeaver_root]"
+ exit 1
+fi
+
+if grep -q 'id="dameng_jdbc"' "$PLUGIN_XML"; then
+ echo "Dameng driver already present in DBeaver plugin.xml, skip patch."
+ exit 0
+fi
+
+python3 - "$PLUGIN_XML" << 'PY'
+import sys
+path = sys.argv[1]
+# 在 前插入达梦驱动(兼容不同缩进)
+marker = ""
+driver_block = '''
+
+
+
+ '''
+
+with open(path, "r", encoding="utf-8", errors="replace") as f:
+ content = f.read()
+if marker not in content:
+ sys.exit("Marker not found in plugin.xml")
+# 只替换第一次出现,保留该行原有前导空白
+new_content = content.replace(marker, driver_block, 1)
+with open(path, "w", encoding="utf-8") as f:
+ f.write(new_content)
+print("Patched DBeaver plugin.xml: added dameng_jdbc driver.")
+PY
+
+echo "Done."
diff --git a/server/bundles/io.cloudbeaver.resources.drivers.base/plugin.xml b/server/bundles/io.cloudbeaver.resources.drivers.base/plugin.xml
index 47e6ec4e8c..1e50351223 100644
--- a/server/bundles/io.cloudbeaver.resources.drivers.base/plugin.xml
+++ b/server/bundles/io.cloudbeaver.resources.drivers.base/plugin.xml
@@ -21,6 +21,7 @@
+
@@ -44,6 +45,7 @@
+
@@ -68,6 +70,7 @@
+
diff --git a/server/drivers/dameng/lib/DmJdbcDriver18-8.1.3.62.jar b/server/drivers/dameng/lib/DmJdbcDriver18-8.1.3.62.jar
new file mode 100644
index 0000000000..9d4dd5d3ac
Binary files /dev/null and b/server/drivers/dameng/lib/DmJdbcDriver18-8.1.3.62.jar differ
diff --git a/server/drivers/dameng/pom.xml b/server/drivers/dameng/pom.xml
new file mode 100644
index 0000000000..e7802930bb
--- /dev/null
+++ b/server/drivers/dameng/pom.xml
@@ -0,0 +1,49 @@
+
+ 4.0.0
+ drivers.dameng
+ 1.0.0
+
+ io.cloudbeaver
+ drivers
+ 1.0.0
+ ../
+
+
+
+ dameng
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 2.6
+
+
+ copy-dameng-jar
+ validate
+
+ ../../../deploy/drivers/dameng
+ true
+
+
+ lib
+
+ *.jar
+
+
+
+
+
+ copy-resources
+
+
+
+
+
+
+
+
diff --git a/server/drivers/pom.xml b/server/drivers/pom.xml
index 820f775925..5371447bf6 100644
--- a/server/drivers/pom.xml
+++ b/server/drivers/pom.xml
@@ -18,6 +18,7 @@
clickhouse_com
databend
+ dameng
db2
db2-jt400
duckdb