dmdb
v1.0.31017
Published
DM database driver
Downloads
10,547
Readme
dmdb
此包为Node.js连接达梦8数据库的原生驱动,API详见安装目录下的《DM8程序员手册》
仅支持Node.js 12 及以上
Extensions
- 支持 typeorm 框架,详情见 typeorm-dm
Change Logs
dmdb v1.0.31017(2024-12-09)
- 修复了游标类型的绑出参数始终为null的问题,游标类型的绑出参数会根据执行选项ExecuteOptions.resultSet返回ResultSet对象或所有数据行
- 支持通过执行选项ExecuteOptions.outFormat设置执行结果中的绑出参数Result.outBinds的返回格式为数组或对象
dmdb v1.0.30381(2024-11-14)
- 查询结果集中,JSON或JSONB类型的数据,自动解析成JSON对象返回(需服务器执行码也支持区分JSON/JSONB和CLOB),该特性控制开关见index.d.ts文件中的
- parseJson: boolean
dmdb v1.0.24984(2024-04-30)
- 新增以流的方式读取结果集,详情查看index.d.ts文件中的API:
- Connection.queryStream(sql: string, bindParams: BindParameters, options: ExecuteOptions): Readable
- ResultSet.toQueryStream(): Readable
dmdb v1.0.19862(2023-09-18)
- 修复了以服务名方式连接数据库时,因设置了错误的通信协议版本号导致解析服务器返回的消息Buffer失败的问题
dmdb v1.0.18856(2023-08-18)
- 修复了连接串属性schema在连接池中失效的问题
- 修复了连接池加服务名方式连接数据库导致的资源泄露问题
- 新增连接串参数: language。指定客户端语言,将报错信息按照指定语言返回,目前支持简体中文,英文和繁体中文。详情查看index.d.ts文件中ConnectionAttributes.language
dmdb v1.0.17128(2023-05-06)
- 新增连接串参数: injectArray。绑定参数为数组时,是否直接注入到SQL语句中,非数组类型的参数不受影响。详情查看index.d.ts文件中ConnectionAttributes.injectArray
- 支持在连接串上直接配置动态服务名,使用示例:dm://user:password@GroupName?GroupName=(host1:port1,host2:port2,...)
dmdb v1.0.15238(2023-02-02)
- *从数据库中查询BIGINT列,结果集中该列数据的类型从js的bigint类型修改为了js的number类型 注:如果数据库中该列的值超过js number的安全范围,即-(2^53 - 1) 到 2^53 - 1,则不能保证数据正确性!可以参考dm.fetchAsString和dm.ExecuteOptions.fetchInfo将数值转为字符串来解决
- *修复了字符大字段(CLOB/TEXT)中存在乱码字符时,读取结果不正确的问题
- *修复了连接串属性doSwitch=1时,(服务名中的)连接不会自动切换和自动重连的问题
- 与数据库服务器的内部通信协议版本从v2升级到v8
- 修复了在极低概率下(约1/65536),因加解密逻辑的缺陷,创建连接时报错:[-2501] 用户名或密码错误
- 修复了Node.js v14中关闭数据库连接后,Socket占用内存无法被回收的问题
dmdb v1.0.14280(2022-11-24)
- 修复了Node.js v16及以上版本使用驱动时出现的意外报错:[-4058] ENOENT
dmdb v1.0.13216(2022-10-09)
- *第三方依赖snappy从v6升级到v7以支持ARM平台安装和使用驱动
- 修复了当语句或参数长度超过64K字节导致的Buffer写入越界的问题
dmdb v1.0.11090(2022-06-08)
- *连接池新增等待队列功能。当连接池中连接数达到上限,后续的
getConnection()
获取连接请求可以被加入到等待队列中,直到连接池内有可用连接,而不是像原来那样直接报错。相关配置参数如下:- queueRequests:连接池达到最大连接数后,后续获取连接请求是否进入等待队列,默认true
- queueMax:获取连接请求等待队列最大长度,-1表示无限制,默认500
- queueTimeout:进入等待队列的获取连接请求在等待多少毫秒后,认为请求失败,单位毫秒,0表示永久等待,默认60000
dmdb v1.0.10728(2022-04-18)
- *从数据库中查询NUMBER/NUMERIC列,结果集中该列数据的类型从js的string类型修改为了js的number类型 注:如果数据库中该列的值超过js number的安全范围,即-(2^53 - 1) 到 2^53 - 1,则不能保证数据正确性!可以参考dm.fetchAsString和dm.ExecuteOptions.fetchInfo将数值转为字符串来解决
- *修复了在获取连接池连接时,当连接已失效且池中连接数小于poolMin阈值时,连接没有自动重连的问题
- 修复了存储过程绑入boolean类型的参数到其他数据类型导致执行失败的问题
dmdb v1.0.7697 (2021-08-23)
- *缓存Buffer改进,对于批量执行的大数据量操作有极大的性能提升,建议老版本驱动更新到此版本
- 对数据库集群的连接做了一些优化处理和功能新增
- 日期时间的返回格式更精确
- 支持更多连接串属性,详情查看index.d.ts文件中的API