DMODBC编程与DMJDBC编程介绍

        达梦数据库 (DM) 提供了两种主要的客户端编程接口:ODBC 和 JDBC,分别适用于不同的编程语言和开发需求。本文将深入分析这两个接口,并总结其关键特性和使用方法。

ODBC 编程指南

        ODBC (Open Database Connectivity) 是一种标准化的数据库访问接口,允许应用程序使用相同的源代码访问不同的数据库。DM ODBC 驱动程序实现了 ODBC 标准,为开发人员提供了访问 DM 数据库的便捷方式。

数据类型和函数:

DM ODBC 支持多种数据类型,包括:

        ·字符串: Char, Varchar, Binary, Varbinary, Image, Text

        ·数值: Tinyint, Smallint, Int, Bigint, Real, Float, Double, Decimal, Numeric

        ·日期时间: Date, Time, Timestamp

DM ODBC 提供了丰富的函数,涵盖以下方面:

        ·连接管理: SQLAllocHandle, SQLConnect, SQLDriverConnect, SQLBrowseConnect

     ·数据源信息: SQLDataSources, SQLDrivers, SQLGetInfo, SQLGetFunctions             SQLGetTypeInfo

        ·驱动程序属性: SQLSetConnectAttr, SQLGetConnectAttr, SQLSetEnvAttr, SQLGetEnvAttr,    SQLSetStmtAttr, SQLGetStmtAttr

        ·描述符字段: SQLGetDescField, SQLGetDescRec, SQLSetDescField, SQLSetDescRec

        ·SQL 语句: SQLPrepare, SQLBindParameter, SQLGetCursorName, SQLSetCursorName,    SQLSetScrollOptions

        ·SQL 请求: SQLExecute, SQLExecDirect, SQLNativeSql, SQLDescribeParam,                    SQLNumParams, SQLParamData, SQLPutData

        ·结果集: SQLRowCount, SQLNumResultCols, SQLDescribeCol, SQLColAttribute,               SQLBindCol, SQLFetch, SQLFetchScroll, SQLGetData, SQLSetPos, SQLBulkOperations, SQLMoreResults, SQLGetDiagField, SQLGetDiagRec

        ·系统表信息: SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLPrimaryKeys,      SQLProcedureColumns,SQLProcedures,SQLSpecialColumns,SQLStatistics,SQLTablePrivileges, SQLTables

        ·终止语句执行: SQLFreeStmt, SQLCloseCursor, SQLCancel, SQLEndTran

        ·中断连接: SQLDisconnect, SQLFreeHandle

连接管理:

DM ODBC 提供了三种连接方法:

        ·SQLConnect: 简单的连接方法,需要提供数据源名称、用户名、密码等参数。

        ·SQLDriverConnect: 更灵活的连接方法,支持连接字符串、对话框提示、未注册数据源等。

        ·SQLBrowseConnect: 与 SQLDriverConnect 类似,但允许程序在运行时动态形成连接字符串。

示例代码:

c

#include <windows.h>

#include <sql.h>

#include <sqltypes.h>

#include <sqlext.h>

HENV henv;

HDBC hdbc;

HSTMT hsmt;

SQLRETURN sret;

void main(void) {

    // 申请环境句柄

    SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv);

    // 设置环境句柄的 ODBC 版本

    SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);

    // 申请连接句柄

    SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);

    // 连接数据源

    sret = SQLConnect(hdbc, (SQLCHAR *)"DM", SQL_NTS, (SQLCHAR *)"SYSDBA", SQL_NTS, (SQLCHAR *)"SYSDBA", SQL_NTS);

    // ... 进行数据操作 ...

    // 断开连接

    SQLDisconnect(hdbc);

    // 释放资源

    SQLFreeHandle(SQL_HANDLE_STMT, hsmt);

    SQLFreeHandle(SQL_HANDLE_DBC, hdbc);

    SQLFreeHandle(SQL_HANDLE_ENV, henv);

}

JDBC 编程指南

        JDBC (Java Database Connectivity) 是 Java 语言的数据库访问标准,提供了统一的 API 用于连接和管理各种数据库。DM JDBC 驱动程序实现了 JDBC 标准,为 Java 开发人员提供了访问 DM 数据库的便捷方式。

基本示例:

java

import java.sql.*;

public class BasicApp {

    String jdbcString = "dm.jdbc.driver.DmDriver";

    String urlString = "jdbc:dm://localhost:5236";

    String userName = "SYSDBA";

    String password = "SYSDBA";

    Connection conn;

    public void loadJdbcDriver() throws SQLException {

        Class.forName(jdbcString);

    }

    public void connect() throws SQLException {

        conn = DriverManager.getConnection(urlString, userName, password);

    }

    // ... 其他方法 ...

    public static void main(String[] args) {

        try {

            BasicApp basicApp = new BasicApp();

            basicApp.loadJdbcDriver();

            basicApp.connect();

            // ... 进行数据操作 ...

            basicApp.disConnect();

        } catch (SQLException e) {

            e.printStackTrace();

        }

    }

}

DM JDBC 特性:

        ·JDBC 3.0 和 4.0 支持: DM JDBC 驱动程序支持 JDBC 3.0 和 4.0 标准,提供了丰富的功能和特性。

        ·数据类型扩展: DM JDBC 支持自定义数据类型,例如时间间隔类型、ROWID 类型等。

        ·读写分离集群支持: DM JDBC 支持连接 DM 读写分离集群系统,并提供扩展的错误信息标识主库和备库的错误。

连接管理:

DM JDBC 提供了两种连接方式:

        ·DriverManager: 通过 DriverManager 的 getConnection 方法建立连接,需要提供 URL、用户名、密码等参数。

        ·数据源: 通过 DataSource 对象建立连接,可以配置连接池等功能,提高系统性能。

示例代码:

java

Class.forName("dm.jdbc.driver.DmDriver");

Connection con = DriverManager.getConnection("jdbc:dm://223.254.254.19", "SYSDBA", "SYSDBA");

连接属性:

DM JDBC 支持丰富的连接属性,例如:

        ·读写分离: rwSeparate, rwPercent, rwAutoDistribute, rwHA, rwStandbyRecoverTime

        ·事务隔离级别: transactionIsolationLevel

        ·结果集类型: resultSetType

        ·兼容模式: compatibleMode

        ·本地加密: localEncrypt, localEncryptEngine

兼容性处理:

        DM JDBC 提供了 compatible_mode 参数,用于与其他数据库的 JDBC 接口进行兼容性处理,例如:

        ·Oracle 兼容: 设置 compatible_mode 为 oracle,可以兼容 Oracle JDBC 接口。

        ·Mysql 兼容: 设置 compatible_mode 为 mysql,可以兼容 Mysql JDBC 接口。

获取执行计划:

        DM JDBC 提供了 getExplainInfo 方法,可以获取 SQL 语句的执行计划,帮助开发人员分析和优化 SQL 语句。

        DM ODBC 和 JDBC 编程指南为开发人员提供了使用 DM 数据库的全面指导。无论是使用 C++ 还是 Java 进行开发,都能找到适合您的编程接口和工具。文档提供了丰富的示例代码和扩展功能说明,方便开发人员进行应用程序开发。通过学习和掌握这些知识,您可以轻松地连接和管理 DM 数据库,并执行各种数据操作和事务处理。

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值