Apache DolphinScheduler 接入 SQL Server 数据源:配置参数、驱动依赖与底层实现全解析

发布时间:2026/11/5 15:22:35

Apache DolphinScheduler 接入 SQL Server 数据源:配置参数、驱动依赖与底层实现全解析 Apache DolphinScheduler 接入 SQL Server 数据源配置参数、驱动依赖与底层实现全解析【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler本篇技术指南围绕 Apache DolphinScheduler 数据源中心中SQL Server数据源的使用展开涵盖 UI 配置参数逐项说明、JDBC 驱动与插件依赖的下载激活方式并结合当前仓库中dolphinscheduler-datasource-sqlserver插件的源码与测试用例讲解 SQL Server 连接串如何被组装、校验与使用。读完本文你将掌握在 DolphinScheduler 中正确创建 SQL Server 数据源、规避ClassNotFoundException依赖缺失问题并理解其底层 JDBC URL 生成机制。SQL Server 数据源概述DolphinScheduler 采用「数据源即插件」的设计每种数据库对应一个独立的 datasource 插件。SQL Server 数据源由仓库中的dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-sqlserver模块提供实现插件名artifactId为dolphinscheduler-datasource-sqlserver在 config/plugins_config 的--datasource-plugins--段中登记供安装脚本按需解析并下载对应 Jar 包。在数据源中心「数据源中心」菜单 → 新建数据源选择SQLSERVER类型后即可填写如下参数完成创建。数据源参数详解SQL Server 数据源的创建表单包含以下字段其含义与填写要求如下表所示数据源说明数据源固定选择 SQLSERVER数据源名称输入数据源的名称用于在 DolphinScheduler 中唯一标识该数据源描述输入数据源的描述信息可选IP/主机名输入 SQL Server 服务所在主机的 IP 或主机名端口输入 SQL Server 服务监听端口默认通常为 1433用户名设置 SQL Server 连接使用的用户名密码设置 SQL Server 连接使用的密码数据库名输入要连接的 SQL Server 数据库名称JDBC 连接参数SQL Server 连接的附加参数设置以 JSON 格式填写其中「JDBC 连接参数」是关键的自定义入口。DolphinScheduler 会把用户填写的 JSON 对象解析为键值对并按keyvalue;的形式追加到 JDBC URL 之后。例如在测试用例 SQLServerDataSourceProcessorTest.java 中通过props.put(serverTimezone, utc)构造了一个额外参数serverTimezoneutc最终会被合并进连接串。参数如何被转换为 JDBC URL从源码 SQLServerDataSourceProcessor.java 可以看到填写完表单后处理器按如下规则生成地址与连接串地址addressjdbc:sqlserver://{host}:{port}前缀常量JDBC_SQLSERVER jdbc:sqlserver://定义于 DataSourceConstants.java连接串jdbcUrljdbc:sqlserver://{host}:{port};databaseName{database}即以分号追加databaseName属性附加参数other若用户在「JDBC 连接参数」中填写了 JSONgetJdbcUrl()会将其转换为keyvalue;格式并追加到连接串末尾例如jdbc:sqlserver://host:1433;databaseNamemydb;serverTimezoneutc。密码加密与连接建立创建数据源时用户密码会通过PasswordUtils.encodePassword()加密后存储见 SQLServerDataSourceProcessor.java真正建立连接时再通过PasswordUtils.decodePassword()解密并交由JdbcDriverConnectionProvider使用驱动类名、连接串、用户名、解密后的密码创建java.sql.Connection见同文件 L112-L122。连接池与即席查询SQL Server 数据源同时支持两类客户端池化连接SQLServerPooledDataSourceClient继承自BasePooledDataSourceClient供工作流中的 SQL 任务复用连接即席连接SQLServerAdHocDataSourceClient继承自BaseAdHocDataSourceClient用于数据源测试等一次性查询场景。两者均由 SQLServerDataSourceChannel.java 统一创建该 Channel 则由 SQLServerDataSourceChannelFactory.java 通过 SPI 机制AutoService(DataSourceChannelFactory.class)注册工厂名称即数据库类型SQLSERVER。驱动类与校验查询该插件使用微软官方驱动类com.microsoft.sqlserver.jdbc.SQLServerDriver常量定义见 DataSourceConstants.java连接存活校验查询为select 1见 DataSourceConstants.java。这些行为均被单元测试覆盖例如 SQLServerDataSourceProcessorTest.java 断言了驱动名与校验查询返回值。SQL 拆分与注释处理当用户在 SQL 任务中编写多语句脚本时处理器通过splitAndRemoveComment()使用 Druid 的 SQL Server 方言解析器拆分语句并移除注释每条子语句末尾自动补充分号;见 SQLServerDataSourceProcessor.java。测试用例验证了select * from table;以及带MERGE复杂语法含注释与换行的多行语句均能被正确切分为单条语句。激活 SQL Server 数据源驱动与插件依赖下载官方文档明确指出SQL Server 数据源默认不随二进制包原生提供Native Supported: No需要在部署阶段手动下载并激活插件依赖否则启动或使用时会抛出ClassNotFoundException。插件依赖下载方式自版本 3.3.0 起DolphinScheduler 二进制发行包不再内置插件依赖需要用户自行下载。仓库中的 install-plugins.sh 脚本封装了依赖安装流程在伪集群部署场景下详见 伪集群部署文档 的「Download Plugins Dependencies」小节可执行bash ./bin/install-plugins.sh 3.3.0实际使用时应将3.3.0替换为当前安装的 DolphinScheduler 版本号。如果你只需要少数几个插件可以先编辑conf/plugins_config配置文件仅保留所需插件再执行安装。例如只保留 SQL Server 数据源插件时plugins_config中--datasource-plugins--段应配置为--datasource-plugins-- dolphinscheduler-datasource-sqlserver --end--仓库根目录下的 config/plugins_config 给出了完整格式参考文件以--alert-plugins--、--datasource-plugins--、--storage-plugins--、--task-plugins--分段段内列出插件 artifactId段尾以--end--结束其中--datasource-plugins--段已包含dolphinscheduler-datasource-sqlserver条目。该映射用于在无版本号artifactId层面解析 Jar 包名称帮助 DolphinScheduler 加载正确的 Jar 包。驱动 Jar 包下载dolphinscheduler-datasource-sqlserver插件的 Maven 依赖声明了com.microsoft.sqlserver:mssql-jdbc见 pom.xml并排除了传递依赖azure-keyvault但该 Jar 并不会被打入官方二进制发行包。官方文档给出了驱动下载地址驱动下载链接mssql-jdbc-11.2.1.jre8SQL Server JDBC Driver 11.2.1适用于 Java 8 运行时Jar 包名为mssql-jdbc-11.2.1.jre8.jar下载后需将驱动 Jar 放入 DolphinScheduler 安装目录对应的libs依赖目录即执行install-plugins.sh后插件依赖所落盘的目录通常位于 DolphinScheduler 二进制包的libs/plugin/datasource/sqlserver下确保服务启动时驱动类com.microsoft.sqlserver.jdbc.SQLServerDriver可被类加载器找到。激活后的使用前提完成插件依赖与驱动 Jar 的部署后需重启 DolphinScheduler 的相关服务API Server / Worker 等使新增依赖生效。随后在数据源中心创建 SQL Server 数据源并点击「测试连接」即可以select 1作为校验查询验证连通性。若未完成上述步骤便尝试连接会因缺少mssql-jdbc依赖而出现ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver之类的异常。小结SQL Server 数据源是 DolphinScheduler 数据源插件体系中的一员从 UI 参数填写到底层连接的完整链路为表单参数SQLServerDataSourceParamDTO→ 连接参数SQLServerConnectionParam含加密密码与 JDBC URL→SQLServerDataSourceProcessor组装并校验 →SQLServerDataSourceChannel提供池化/即席客户端 → 驱动com.microsoft.sqlserver.jdbc.SQLServerDriver建立真实连接。由于官方发行包不内置其驱动依赖使用前务必按照 伪集群部署文档 的「Download Plugins Dependencies」章节下载mssql-jdbc-11.2.1.jre8.jar并激活dolphinscheduler-datasource-sqlserver插件这是避免运行时ClassNotFoundException的关键一步。【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/5 15:22:35

IMM-UPF多目标跟踪:机动建模与存在概率联合估计

简介:本资源是一套面向高校研究生、算法工程师及智能感知方向研究者的多目标跟踪(MTT)MATLAB实战代码包,聚焦非线性非高斯场景下的滤波建模与数据关联核心问题,适用于视频监控、无人系统轨迹估计等实际应用。压缩包共9…

2026/11/5 15:00:49

基于Hadoop+Spark的民宿智能推荐系统设计与实现

1. 项目概述:大数据时代的民宿智能推荐这个毕业设计项目融合了当前大数据领域最主流的技术栈,构建了一个完整的民宿推荐系统解决方案。作为一名长期从事大数据系统开发的工程师,我认为这个选题非常贴合实际应用场景——随着旅游业的复苏和共享…

2026/11/5 14:10:30

ADS122U04IPWR+STM32F427ZI工业级温度测量信号链设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 14:10:30

UART接口24位ADC搭配RS485,解决远距离温度监控难题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 14:10:30

UART接口24位ADC搭配PIC18F46K22的RTD与热电偶测温实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 13:55:19

GD32E10x官方例程入门:从GPIO点灯到串口调试

简介:这份GD32E10x系列官方例程面向嵌入式硬件与单片机开发者,基于ARM Cortex-M3内核,汇集兆易创新GD32E10x的示例代码,适合工业控制、消费电子、通信设备等场景的学习、验证与二次开发。压缩包共935个文件,约11.16MB&…

2026/11/5 13:50:18

基于Django的运维平台实战:资产、发布、巡检、告警一体化

简介:这份资源是一套基于Django框架开发的运维平台源码,面向具备Python基础、希望了解Web运维系统实现思路的开发者与运维人员,可用于学习主机管理、服务监控、日志查看、任务调度、权限控制、资源统计、脚本执行与故障告警等常见运维模块的落…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/5 0:02:07

多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中…

2026/11/5 0:02:07

大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#…

2026/11/5 0:02:07

鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑