一、前言
达梦数据库(DM Database)作为国产数据库的代表,提供了全面的应用程序接口(API),使得开发者可以使用多种编程语言与其交互。其中,ODBC和JDBC是两种最重要、应用最广泛的接口标准。
ODBC(Open Database Connectivity) 是微软主导的数据库访问标准,提供了一个抽象的接口,允许应用程序使用相同的代码访问不同的数据库。适用于C/C++、.NET、Python、PHP,以及Excel、Tableau、Power BI等桌面应用。
JDBC(Java Database Connectivity) 是Java应用程序与数据库的接口规范。达梦提供了完全遵循JDBC标准的Type 4纯Java驱动程序,适用于Java技术栈。
掌握这两种接口的配置,是进行达梦数据库应用开发的基础技能。本文将从零开始,详细讲解如何在Windows和Linux环境下配置ODBC及JDBC连接达梦数据库。由于ODBC涉及跨语言、跨工具的场景更为广泛,本文将重点介绍ODBC的配置,JDBC部分作为补充简述。
二、ODBC配置指南
ODBC配置的核心是创建一个DSN(数据源名称),它就像一个“快捷方式”,把数据库的地址、端口、账号、密码等信息打包在一起。应用程序只要引用这个DSN名字,就能连接到数据库,而无需在代码里重复填写连接信息。
ODBC的配置方式取决于操作系统,以下分别介绍Windows和Linux(含麒麟系统)环境下的配置方法。
2.1 Windows环境配置
步骤1:确认ODBC驱动已安装
达梦ODBC驱动文件位于达梦安装目录的 \drivers\odbc 下。安装达梦数据库时,ODBC驱动通常会自动注册到系统中。如果后续配置时在驱动列表中找不到“DM ODBC DRIVER”,可以检查达梦安装目录下的 bin 文件夹中是否有 dodbc.dll 文件,确认驱动是否存在。
步骤2:打开ODBC数据源管理程序
ODBC数据源管理程序是Windows系统自带的工具,用于管理所有的ODBC数据源。打开方式如下:
方法一(推荐):按 Win + R,输入 odbcad32,回车
方法二:控制面板 → 管理工具 → ODBC数据源(64位)
注意:odbcad32 打开的是与操作系统位数匹配的版本(64位系统默认打开64位管理器)。如需32位管理器,使用 C:\Windows\SysWOW64\odbcad32.exe。如果后续测试连接时提示驱动不匹配,可以尝试切换32位和64位版本。
步骤3:添加DSN
DM8 |localhost(本机)|5234 |SYSDBA |****** |(安装达梦时设置的密码)DSN=DM8 即可建立连接,无需再重复填写服务器地址、端口、账号密码等信息。yum 的系统中:apt 的系统(如Ubuntu、优麒麟):odbcinst -j,会显示各项配置文件的路径,例如:/etc/odbcinst.ini/etc/odbc.ini~/.odbc.ini三、JDBC配置指南
JDBC是Java应用程序连接达梦数据库的标准方式,配置相对简单。其本质就是将达梦提供的JDBC驱动JAR包添加到Java项目的类路径中,然后使用标准的URL格式建立连接。
3.1 获取JDBC驱动
达梦JDBC驱动位于数据库安装目录的 /drivers/jdbc 目录下。根据Java版本选择对应的JAR包:
驱动文件 对应JDK版本
DmJdbcDriver6.jar JDK 1.6
DmJdbcDriver7.jar JDK 1.7
DmJdbcDriver8.jar JDK 1.8
DmJdbcDriver11.jar JDK 11
建议:使用与达梦数据库版本相近的驱动,避免功能不适配。
3.2 在项目中添加驱动
普通Java项目:将JAR文件复制到项目的lib目录下,在IDE中右键添加到构建路径。
Maven项目:在pom.xml中添加达梦JDBC驱动的依赖坐标。
3.3 测试代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class TestJDBC {
public static void main(String[] args) {
String url = "jdbc:dm://localhost:5236"; // 连接URL
String user = "SYSDBA"; // 用户名
String password = "Dameng_123"; // 密码
try {
Class.forName("dm.jdbc.driver.DmDriver");
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("JDBC连接成功!");
conn.close();
} catch (ClassNotFoundException e) {
System.out.println("驱动加载失败:" + e.getMessage());
} catch (SQLException e) {
System.out.println("连接失败:" + e.getMessage());
}
}
}
场景 URL示例
本机连接 jdbc:dm://localhost:5236
远程连接 jdbc:dm://192.168.1.100:5236
指定数据库 jdbc:dm://localhost:5236?database=库名
指定默认模式 jdbc:dm://localhost:5236?schema=模式名
省略 database 参数则连接达梦数据库的默认库。
3.4 常见问题
四、ODBC与JDBC对比总结
五、结语
通过本文的实践,我们完成了达梦数据库的ODBC和JDBC连接配置。掌握了这两种接口,就打通了达梦数据库与各类开发工具之间的桥梁,无论是使用Java开发企业应用,还是使用Python进行数据分析,亦或是通过Excel快速查看数据,都能得心应手。在实际工作中,建议根据项目技术栈选择合适的接口:Java项目用JDBC,非Java项目或多工具协作场景用ODBC。
文章
阅读量
获赞
