DM JDBC连接&ODBC连接

DM 作为一个通用数据库管理系 统,提供了多种数据库访问接口,包括 ODBC、JDBC、DPI 以及嵌入方式等。

目录

JDBC连接

 ODBC连接

Linux下创建ODBC数据源

 WINDOS10下创建ODBC数据源


JDBC连接

JDBC是Java应用程序与数据库的接口规范。DM JDBC驱动程序是DM数据库的JDBC驱动程序,它是一个能够支持基本SQL功能的通用应用程序编程接口(API)。

查看版本

利用 JDBC 驱动程序进行编程的一般步骤:

a. 获得 java.sql.Connection 对象。 利用 DriverManager 或者数据源来建立同数据库的连接。

b. 创 建 java.sql.Statement 对 象 。 这 里 也 包 含 了 java.sql.PreparedStatement 和 java.sql.CallableStatement 对象。 利用连接对象的创建语句对象的方法来创建。在创建的过程中,根据需要来设置结果集 的属性。

c. 数据操作。 数据操作主要分为两个方面,一个是更新操作,例如更新数据库、删除一行、创建一个 新表等;另一个就是查询操作,执行完查询之后,会得到一个 java.sql.ResultSet 对象,可以 操作该对象来获得指定列的信息、读取指定行的某一列的值。

d. 释放资源。 在操作完成之后,用户需要释放系统资源,主要是关闭结果集、关闭语句对象,释放连 接。当然,这些动作也可以由 JDBC 驱动程序自动执行,但由于 Java 语言的特点,这个过 程会比较慢(需要等到 Java 进行垃圾回收时进行),容易出现意想不到的问题。

 

package testConn;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
/* @throws SQLException 异常 */


public class test1 {
	// 定义 DM JDBC 驱动串
	String jdbcString = "dm.jdbc.driver.DmDriver";
	// 定义 DM URL 连接串
	String urlString = "jdbc:dm://192.168.89.132:5238";
	// 定义连接用户名
	String userName = "SYSDBA";
	// 定义连接用户口令
	String password = "SYSDBA";
	// 定义连接对象
	Connection conn = null;
	/* 加载 JDBC 驱动程序
	* @throws SQLException 异常 */
	public void loadJdbcDriver() throws SQLException {
	try {
	System.out.println("Loading JDBC Driver...");
	// 加载 JDBC 驱动程序
	Class.forName(jdbcString);
	} catch (ClassNotFoundException e) {
	throw new SQLException("Load JDBC Driver Error : " + e.getMessage());
	} catch (Exception ex) {
	throw new SQLException("Load JDBC Driver Error : "
	+ ex.getMessage());
	}
	}
	public void connect() throws SQLException {
		try {
			System.out.println("Connecting to DM Server...");
			// 连接 DM 数据库
			conn = DriverManager.getConnection(urlString, userName, password);
		} catch (SQLException e) {
			throw new SQLException("Connect to DM Server Error : "+ e.getMessage());
		}
	}
	/* 关闭连接
	* @throws SQLException 异常 */
	public void disConnect() throws SQLException {
		try {
			// 关闭连接
			conn.close();
		} catch (SQLException e) {
			throw new SQLException("close connection error : " + e.getMessage());
		}
	}
	public void insertTable() throws SQLException {
		// 插入数据语句
		String sql = "INSERT INTO DMHR.test01(C1,C2)"+"VALUES(?,?);";
		// 创建语句对象
		PreparedStatement pstmt = conn.prepareStatement(sql);
		// 为参数赋值
		pstmt.setInt(1, 14);
		pstmt.setString(2, "test_jdbc");		
		// 执行语句
	//	pstmt.executeUpdate();
		pstmt.execute();
		// 关闭语句
		pstmt.close();
	}
	public void queryTable() throws SQLException {
		// 查询语句
		String sql = "SELECT * FROM DMHR.TEST01;";
		// 创建语句对象
		//PreparedStatement pstmt =conn.prepareStatement(sql);
		Statement pstmt =conn.createStatement();
		// 执行查询
		ResultSet rs = pstmt.executeQuery(sql);
		// 显示结果集
		displayResultSet(rs);
		// 关闭结果集
		rs.close();
		// 关闭语句
		pstmt.close();
	}
	private void displayResultSet(ResultSet rs) throws SQLException {
		// 取得结果集元数据
		ResultSetMetaData rsmd = rs.getMetaData();
		// 取得结果集所包含的列数
		int numCols = rsmd.getColumnCount();
		// 显示列标头
		for (int i = 1; i <= numCols; i++) {
			if (i > 1) {
				System.out.print(",");
			}
			System.out.print(rsmd.getColumnLabel(i));
		}
		System.out.println("");
		// 显示结果集中所有数据
		while (rs.next()) {
			for (int i = 1; i <= numCols; i++) {
				if (i > 1) {
					System.out.print(",");
				}
				System.out.print(rs.getString(i));
			}
			System.out.println("");
		}
	}

	public static void main(String[] args){
		// TODO Auto-generated method stub	
		try {
			test1 test1=new test1();
			test1.loadJdbcDriver();
			test1.connect();
			System.out.println("--insert--");
			test1.insertTable();
			System.out.println("--select--");
			test1.queryTable();
			test1.disConnect();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			//e.printStackTrace();
			System.out.println(e.getMessage());
		}

	}

}

分别执行数据插入与查询:

插入数据

查询数据:

一次执行:

 

 ODBC连接

ODBC 提供访问不同类型的数据库的途径。结构化查询语言 SQL 是一种用来访问数据库的语言。通过使用 ODBC,应用程序能够使用相同的源代码和各种各样的数据库交互。

连接到数据源:

a. SQLAllocHandle:分配环境、连接、语句或者描述符句柄;

b. SQLConnect:建立与驱动程序或者数据源的连接。访问数据源的连接句柄包含了 状态、事务申明和错误信息的所有连接信息;

c. SQLDriverConnect:与 SQLConnect 相似,用来连接到驱动程序或者数据源。但它 比 SQLConnect 支持数据源更多的连接信息,它提供了一个对话框来提示用户设置所有的连 接信息以及系统信息表没有定义的数据源;

d. SQLBrowseConnect:支持一种交互方法来检索或者列出连接数据源所需要的属性 和属性值。每次调用函数可以获取一个连接属性字符串,当检索完所有的属性值,就建立起 与数据源的连接,并且返回完整的连接字符串,否则提示缺少的连接属性信息,用户根据此 信息重新输入连接属性值再次调用此函数进行连接。

Linux下创建ODBC数据源

cd /dm8/drivers/

 

cd /opt

上传unixODBC压缩包

 

操作步骤
[root@test04 opt]# tar -xzvf unixODBC-2.3.9.tar.gz
[root@test04 opt]# cd unixODBC-2.3.9/
[root@test04 unixODBC-2.3.9]# ./configure
[root@test04 unixODBC-2.3.9]# make
[root@test04 unixODBC-2.3.9]# make install
[root@test04 unixODBC-2.3.9]# odbcinst -j

执行过程:

odbc.ini参数配置:
[root@test04 unixODBC-2.3.9]# cd /usr/local/etc/
[root@test04 etc]# ll
[root@test04 etc]# vi odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5238
[root@test04 etc]# vi odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
[root@test04 etc]# su - dmdba

执行过程:

 

[dmdba@test04 ~]$ isql dm8 -v

 

 WINDOS10下创建ODBC数据源

配置 ODBC 数据源的步骤:

a、在控制面板\管理工具中访问 ODBC 构件,显示 ODBC 数据源管理器对话框。ODBC 数据源管理器对话框包含的标签如下:

1) 用户 DSN:添加、删除或配置本机上的数据源,它们只可由当前用户使用;

2) 系统 DSN:添加、删除或配置本机上的数据源,它们可由任何用户使用;

3) 文件 DSN:添加、删除或配置在分离文件中的数据源。这些文件可以被安装了同 样数据库驱动器的用户共享;

4) 驱动程序:列出了安装在客户机上的数据库驱动器;

5) 跟踪:用于测试你的数据库应用程序。它跟踪客户机和数据库服务器之间的 ODBC API 的调用;

6) 连接池:允许不同的应用程序自动复用多个连接。这有助于限制和数据库服务器的 通信过载;

7) 关于:显示主要 ODBC 组件的版本。

b、设置和配置一个系统 DSN,请单击系统 DSN 标签,单击添加按钮增加一个新的 DSN

c、选择 DM ODBC 3.0 驱动程序即 DM ODBC DRIVER,单击完成按钮,显示如图 3.3 所示的 DM ODBC 3.0 数据源配置对话框。

d、输入数据源的名称、一个简单的描述,并选择你想要连接的数据库服务器的名字、 使用的端口号、验证登录用户 ID 真伪的方式,如果使用 DMServer 验证方式则需要输入登 录数据源的 ID 以及密码等信息,选择系统提示信息的语种,以及选择是否使用 DMServer 的增强选项。 如果 连接属性填 写的是 UNIXSOCKET,那么服务 器需填 写 Linux 环境 下的 unixsocket 文件路径名。两者需配套使用。只有 Linux 环境才支持 UNIXSOCKET, Windows 不支持(设置了也会被忽略)

e、单击测试按钮测试你配置的数据源是否正确,得到数据源测试报告如图 3.4 所示, 如果测试成功,可以单击确定按钮以保存你设置的新的系统数据源

f、 单击确定按钮关闭 ODBC 数据源管理器对话框

 

 

 

 

根据需要修改后,可点击测试,测试数据源,成功后,点击确定,再点击确定配置

 

 

达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心达梦数据库产品体验站,DM8在线试玩,达梦数据库全系列产品免费下载,官方权威的快速上手文档和产品手册,最活跃的达梦技术社区,面向全行业ISV厂商免费的云适配服务。https://eco.dameng.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DHY151

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值