npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dmdb

v1.0.45146

Published

DM database driver

Downloads

21,801

Readme

dmdb

此包为Node.js连接达梦8数据库的原生驱动,API详见安装目录下的《DM8程序员手册》

仅支持Node.js 12 及以上

Extensions

Change Logs

dmdb v1.0.45146(2025-12-22)

  • 修复了连接老版本数据库并以绑定参数插入长字符串时的报错:Bind param data failed by invalid param data type
  • 修复了查询结果集与结果集遍历之间执行任意语句可能导致的报错:[-2002] 执行未准备SQL语句
  • 修复了批量执行方法会修改绑入的数组参数值的问题
  • ResultSet和Lob对象不支持并发操作
  • 修改结果集最大行数配置策略,优先级顺序从高到低如下:
    • 执行选项 ExecuteOptions.maxRows
    • 驱动全局配置 dmdb.maxRows
    • 连接串属性/连接属性 localhost:5236?maxRows=0 / ConnectionAttributes.maxRows

dmdb v1.0.43524(2025-11-14)

  • *执行结果中的绑出参数Result.outBinds/Results.outBinds的返回格式原先固定为数组,现改为由绑定参数格式控制。若绑定参数按照位置绑定,则绑出参数格式为数组;若绑定参数按照名称绑定,则绑出参数格式为对象。
  • *新增驱动全局配置 dmdb.outBindFormat,可控制上述特性,建议老版本驱动升级到此新版本时,设置dmdb.outBindFormat = dmdb.OUT_FORMAT_ARRAY以保证特性与原来一致(即绑出参数格式固定为数组),以免引起兼容性问题,配置说明详见index.d.ts文件
  • 按照位置绑定参数时,若绑定参数个数大于实际所需要的参数个数,则报错:绑定参数个数过多
  • NaN/Infinity/-Infinity绑定参数时,策略由绑入NULL值改为报错无效的数值

dmdb v1.0.40189(2025-08-20)

  • 与数据库服务器的内部通信协议版本从v10升级到v21
  • 支持服务器连接心跳
  • 连接串参数rwSeparate类型从boolean调整为number
  • 连接串参数epSelector取值范围和策略调整

dmdb v1.0.38220(2025-07-02)

  • 修复用服务名连接时的空指针报错问题
  • 修复开启读写分离时,连接池连接关闭所导致的读写分离功能失效问题
  • 整型number参数绑定默认类型从DOUBLE改为BIGINT

dmdb v1.0.36002(2025-05-12)

  • 与数据库服务器的内部通信协议版本从v8升级到v10
  • 修复服务器ini参数NUMBER_MODE=1时,DECIMAL类型的列插入错误的问题

dmdb v1.0.34946(2025-04-07)

  • 第三方依赖包snappy改为可选,安装和使用驱动时不再强制要求安装snappy依赖。若数据库服务器和数据库驱动通信开启了snappy压缩,则要求必须安装snappy依赖
  • snappy依赖现提供两种选择:snappysnappyjs
    • snappy 性能好,兼容性差,大多数情况下优先考虑snappy
    • snappyjs 纯JavaScript实现的库,兼容性好,国产CPU和操作系统建议用snappyjs
  • 优化自动提交配置策略,优先级顺序从高到低如下:
    • 执行选项 ExecuteOptions.autoCommit / ExecuteManyOptions.autoCommit
    • 驱动全局配置 dmdb.autoCommit
    • 连接串属性/连接属性 localhost:5236?autoCommit=true / ConnectionAttributes.autoCommit
  • 修复一些绑出参数问题
  • 连接串参数switchInterval默认值从1000改为200

dmdb v1.0.33801(2025-02-26)

  • 因影响typeorm-dm,回滚v1.0.31017部分修改,不再支持通过执行选项ExecuteOptions.outFormat设置执行结果中的绑出参数Result.outBinds的返回格式为数组或对象,绑出参数固定为数组

dmdb v1.0.32369(2025-02-11)

  • *修复了日期时间类型在不同时区下转换错误的问题
  • 修复了查询小于公元100年的年份数值错误的问题
  • 连接串参数localTimezone的取值范围从-720~720调整为-779~840

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