没有合适的资源?快使用搜索试试~ 我知道了~
首页DM7数据库访问接口编程指南
"DM7程序员手册.pdf" DM7是达梦数据库有限公司的一款新一代高性能数据库产品,设计上具有开放、可扩展的架构,旨在提供一个易于使用且维护成本低的事务处理系统。这款数据库管理系统完全由达梦公司自主开发,基于RDBMS并遵循SQL标准,能在多个软硬件平台上运行,具备大型数据综合管理能力和高效稳定性。DM7提供了多种数据库访问接口,如ODBC、JDBC、DPI、OLEDB和嵌入式方式,以满足不同数据库应用系统开发需求。 本书针对DM7的各个访问接口进行了详细的介绍,涵盖了基础概念、进阶内容、函数原型以及编程参考。其中,DPI编程指南讲解了DPI(达梦数据库编程接口)的基础知识和高级用法,包括数据捕获的相关细节,如数据类型、相关方法、数据信息搜集表和实例说明。 DMODBC编程指南详细阐述了ODBC(开放数据库连接)在DM7中的应用,从数据类型到支持的函数,如连接数据源、获取信息、设置属性、执行SQL语句等。此外,还介绍了如何在Windows和Linux上创建ODBC数据源,以及编写ODBC应用程序的基本步骤,同时讲解了如何使用存储过程和函数。 DMJDBC编程指南则涉及JDBC(Java数据库连接)的使用,不仅解释了JDBC的基本概念和示例,还讨论了DMJDBC特有的功能,如数据类型扩展和在读写分离集群下的错误信息处理。指南中详细介绍了如何通过DriverManager建立JDBC连接,并展示了调用存储过程和函数的方法。 本书对于有过数据库应用系统开发经验的读者来说是一份宝贵的参考资料,它不仅涵盖了DM7的技术特性和关键功能,还提供了实用的编程指南,有助于开发者更好地利用DM7构建高效、安全的数据库应用。
资源详情
资源推荐
第 2 章 DPI 编程指南
DSQL_SMALLINT smallint 有符号短整型(2 字节)
DSQL_INT int 有符号整型(4 字节)
DSQL_BIGINT bigint 有符号长整型(8 字节)
DSQL_DEC dec[(p,s)]
numeric[(p,s)]
精确数字类型
DSQL_FLOAT real 单精度浮点型
DSQL_DOUBLE float
double
双精度浮点型
DSQL_BLOB blob
image
longvarbinary
二进制大字段
DSQL_DATE date 日期
DSQL_TIME time[(n)] 时间
DSQL_TIMESTAMP timestamp[(n)] 时间戳
DSQL_BINARY binary[(n)] 二进制类型
DSQL_VARBINARY varbinary[(n)] 变长二进制类型
DSQL_CLOB clob
text
longvarchar
字符大字段
DSQL_TIME_TZ time with time zone 带时区的时间类型
DSQL_TIMESTAMP_TZ timestamp with time zone 带时区的时间戳类型
DSQL_RSET cursor 结果集类型
DSQL_CLASS class class 复合类型
DSQL_RECORD record record 复合类型
DSQL_ARRAY array 动态 array
DSQL_SARRAY array 静态 array
DSQL_INTERVAL_YEA
R
interval year 年时间间隔类型
DSQL_INTERVAL_MO
NTH
interval month 月时间间隔类型
DSQL_INTERVAL_DAY interval day 日时间间隔类型
DSQL_INTERVAL_HO
UR
interval hour 时时间间隔类型
DSQL_INTERVAL_MIN
UTE
interval minute 分时间间隔类型
DSQL_INTERVAL_SEC
OND
interval second 秒时间间隔类型
DSQL_INTERVAL_YEA
R_TO_MONTH
interval year to month 年转月
时间间隔类型
DSQL_INTERVAL_DAY
_TO_HOUR
interval day to hour 日转时
时间间隔类型
DSQL_INTERVAL_DAY
_TO_MINUTE
interval day to minute 日转分
时间间隔类型
12
第 2 章 DPI 编程指南
DSQL_INTERVAL_DAY
_TO_SECOND
interval day to second 日转秒
时间间隔类型
DSQL_INTERVAL_HO
UR_TO_MINUTE
interval hour to minute 时转分
时间间隔类型
DSQL_INTERVAL_HO
UR_TO_SECOND
interval hour to second 时转秒
时间间隔类型
DSQL_INTERVAL_MIN
UTE_TO_SECOND
interval minute to second 分转秒
时间间隔类型
DPI 中包括以下 C 类型,对应绑定时使用的数据类型:
宏定义
类型
说明
DSQL_C_NCHAR char 字符类型
DSQL_C_SSHORT signed short 有符号短整型
DSQL_C_USHORT unsigned short 无符号短整型
DSQL_C_SLONG signed int 有符号整型
DSQL_C_ULONG unsigned int 无符号整型
DSQL_C_FLOAT float 单精度浮点型
DSQL_C_DOUBLE double 双精度浮点型
DSQL_C_BIT char 位类型
DSQL_C_STINYINT char 有符号小整型
DSQL_C_UTINYINT unsigned char 无符号小整型
DSQL_C_SBIGINT __int64 有符号长整型,注 1:在 Windows 操作系统下,
C 中的定义为__int64,在其他操作系统下会有
其他的表示方式
DSQL_C_UBIGINT unsigned __int64 无符号长整型
DSQL_C_BINARY unsigned char 二进制类型
DSQL_C_DATE dpi_date_t 日期类型
DSQL_C_TIME dpi_time_t 时间类型
DSQL_C_TIMESTAMP dpi_timestamp_t 日期时间类型
DSQL_C_NUMERIC dpi_numeric_t 数字类型
DSQL_C_INTERVAL_YEAR dpi_interval_t 年时间间隔类型
DSQL_C_INTERVAL_MONTH dpi_interval_t 月时间间隔类型
DSQL_C_INTERVAL_DAY dpi_interval_t 日时间间隔类型
DSQL_C_INTERVAL_HOUR dpi_interval_t 时时间间隔类型
DSQL_C_INTERVAL_MINUTE dpi_interval_t 分时间间隔类型
DSQL_C_INTERVAL_SECOND dpi_interval_t 秒时间间隔类型
DSQL_C_INTERVAL_YEAR_TO
_MONTH
dpi_interval_t 年转月
时间间隔类型
DSQL_C_INTERVAL_DAY_TO_
HOUR
dpi_interval_t 日转时
时间间隔类型
DSQL_C_INTERVAL_DAY_TO_
MINUTE
dpi_interval_t 日转分
时间间隔类型
DSQL_C_INTERVAL_DAY_TO_
SECOND
dpi_interval_t 日转秒
时间间隔类型
13
第 2 章 DPI 编程指南
DSQL_C_INTERVAL_HOUR_TO
_MINUTE
dpi_interval_t 时转分
时间间隔类型
DSQL_C_INTERVAL_HOUR_TO
_SECOND
dpi_interval_t 时转秒
时间间隔类型
DSQL_C_INTERVAL_MINUTE_
TO_SECOND
dpi_interval_t 分转秒
时间间隔类型
DSQL_C_DEFAULT 自动映射类型
DSQL_C_LOB_HANDLE dhloblctr 大字段句柄
DSQL_C_RSET dhstmt 结果集类型
DSQL_C_CLASS dhobj 复合对象类型
DSQL_C_RECORD dhobj 复合对象类型
DSQL_C_ARRAY dhobj 复合对象类型
DSQL_C_SARRAY dhobj 复合对象类型
DSQL_C_WCHAR wchar_t 宽字节类型
诊断
函数调用的返回信息放在诊断区域中。每一个环境、连接、及描述符句柄都有一个诊断
区域。在诊断区域的头字段返回一般的函数执行信息,它的记录字段记录函数调用的错误信
息和警告。用户可以指定获取某一个记录的信息从而更准确地判断函数执行的情况。
2.2
进阶
环境句柄
客户端程序要和数据库服务器进行通信,必须首先进行环境的设置,需要使用到环境句
柄。一个环境句柄可以包含多个连接句柄。客户端程序可以通过函数 dpi_alloc_env 来申请
一个环境句柄。环境句柄申请成功后就可以通过函数 dpi_alloc_con 来申请连接句柄了。环
境句柄包含属性如下表所示:
属性
说明
取值
DSQL_ATTR_LOCAL_CODE 本地编码 PG_GBK 等
DSQL_ATTR_LANG_ID 错误消息的语言 LANGUAGE_EN或者LANGUAGE_CN
连接句柄
客户端程序要和数据库服务器进行通信,必须和数据库服务器建立连接。所以需要先连
接数据库服务器,再使用数据库函数 dpi_alloc_con 申请连接句柄。要申请连接句柄必须先
成功申请环境句柄。一个连接只能属于一个环境句柄。申请连接句柄成功后可以通过函数
dpi_login 来进行数据的连接登录。
连接句柄包含属性如下表所示:
属性
说明
取值
DSQL_ATTR_ACCESS_MODE 连接的访问模式(可读写) DSQL_MODE_READ_ONLY
或者
DSQL_MODE_READ_WRITE
默认
DSQL_MODE_READ_WRITE
14
第 2 章 DPI 编程指南
DSQL_ATTR_ASYNC_ENABLE 允许异步执行,未提供 未支持
DSQL_ATTR_AUTO_IPD 自动分配参数描述符(只读)
DSQL_ATTR_AUTOCOMMIT 自动提交(可读写) DSQL_AUTOCOMMIT_ON
或者
DSQL_AUTOCOMMIT_OFF
默认
DSQL_AUTOCOMMIT_ON
DSQL_ATTR_CONNECTION_DEAD 连接存活,未提供
DSQL_ATTR_CONNECTION_TIMEOUT 执行超时时间(可读写) udint4数值
DSQL_ATTR_LOGIN_TIMEOUT 登录超时时间 udint4 数值
DSQL_ATTR_PACKET_SIZE 网络包大小,未提供
DSQL_ATTR_TXN_ISOLATION 事务隔离级(可读写) ISO_LEVEL_READ_UNCOM
MITTED ,
ISO_LEVEL_READ_COMMI
TTED ,
ISO_LEVEL_SERIALIZABLE
DSQL_ATTR_LOGIN_PORT 登录端口号(可读写) sdint2数值 默认5236
DSQL_ATTR_STR_CASE_SENSITIVE 大小写是否敏感(只读)
DSQL_ATTR_MAX_ROW_SIZE 行最大字节数(只读)
DSQL_ATTR_LOGIN_USER 登陆用户(只读)
DSQL_ATTR_LOGIN_SERVER 登陆服务器 IP(只读)
DSQL_ATTR_INSTANCE_NAME 实例名称(只读)
DSQL_ATTR_CURRENT_SCHEMA 当前模式(只读)
DSQL_ATTR_SERVER_CODE 服务器的编码(只读)
DSQL_ATTR_LOCAL_CODE 本地编码(可读写) PG_SQL_ASCII,PG_UTF8,
PG_GBK,PG_BIG5,
PG_ISO_8859_9,
PG_EUC_JP,PG_EUC_KR,
PG_KOI8R,PG_ISO_8859_1
,
PG_GB18030,
PG_ISO_8859_11,PG_UTF16
DSQL_ATTR_LANG_ID 错误消息的语言(可读写) LANGUAGE_EN
或者
LANGUAGE_CN
DSQL_ATTR_APP_NAME 应用名称(可读写)
DSQL_ATTR_COMPRESS_MSG 消息压缩(可读写) DSQL_TRUE
压缩,
DSQL_FALSE 不压缩
DSQL_ATTR_RWSEPARATE 读写分离(可读写) DSQL_TRUE
开启,
DSQL_FALSE 关闭
DSQL_ATTR_RWSEPARATE_PERCENT 读写分离比例(可读写) 0-100 默认 25
DSQL_ATTR_CURRENT_CATALOG (只读)
DSQL_ATTR_TRX_STATE 事务状态(只读) DSQL_TRX_ACTIVE 和
DSQL_TRX_COMPLETE
15
第 2 章 DPI 编程指南
DSQL_ATTR_USE_STMT_POOL 语句句柄缓存池(可读写) DSQL_TRUE
开启,
DSQL_FALSE 关闭
DSQL_ATTR_SSL_PATH SSL 证书所载的路径路径(可
读写)
字符串(最长256)
DSQL_ATTR_SSL_PWD SSL 加密密码(可读写) 字符串(最长512)
DSQL_ATTR_MPP_LOGIN mpp 登陆方式(可读写) DSQL_MPP_LOGIN_GLOBA
L 全局登陆
DSQL_MPP_LOGIN_LOCAL
本地登陆
DSQL_ATTR_CRYPTO_NAME 加密方式(可读写)
DSQL_ATTR_CERTIFICATE 密钥(可读写) 最长4096
DSQL_ATTR_UDP_FLAG 提供 UDP 或 TCP 连接(可读
写)
1则表示UDP连接,0则表示
TCP连接,默认为0
DSQL_ATTR_LOGIN_CERTIFICATE 指定登录加密用户名密码公钥
所在的路径。该属性和
dm_svc.conf
中
配置项
LOGIN_CERTIFICATE功能一
样。两者不一致时,
DSQL_ATTR_LOGIN_CERTI
FICATE设置优先
字符串(最长256)
语句句柄
DPI 用语句句柄来存取名称、参数、错误以及其他关于语句处理流程的信息。在一个连
接句柄下可以有多个语句句柄,一个特定的 SQL 语句总是和一个句柄连接相联系的。在 DPI
中,通过语句句柄可以了解到语句的状态、当前语句的诊断信息、语句的参数以及结果集绑
定的应用程序变量等信息、每一个语句的当前属性值。客户程序调用 dpi_alloc_stmt 函数申
请一个语句句柄,用 dpi_free_stmt 函数释放一个语句句柄。
语句句柄包含属性如下表所示:
属性
说明
取值
DSQL_ATTR_ROW_BIND_
TYPE
行绑定类型(可读写)
DSQL_ATTR_ROW_BIND_
OFFSET_PTR
行绑定偏移(可读写)
DSQL_ATTR_ROW_OPERA
TION_PTR
绑定行数据处理指示(可读写)
DSQL_ATTR_ROW_STATU
S_PTR
获取行数据状态指示(可读写)
DSQL_ATTR_ROWS_FETC
HED_PTR
已获取行数指示(可读写)
DSQL_ATTR_ROW_ARRA
Y_SIZE
行集大小(可读写)
DSQL_ATTR_ROWSET_SI
ZE
行集大小(可读写)
DSQL_ATTR_USE_BOOK 是否使用书签(可读写)
16
剩余297页未读,继续阅读
郝さん
- 粉丝: 2
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功