列[NEW_PWD]长度超出定义

现状描述

使用DM8的数据库软件启动DM7的数据库实例正常open后,创建用户时报错:

image-20200820180607358

原因

可能原因(猜测):

​ 由于使用整个dm8数据库软件启动dm7软件初始化的数据库实例,相当于数据库版本升级了,但是数据库实例中的系统表等信息并未更新,可能需要依赖dm7的软件来触发系统表的更新。
​ 也可以了解到达梦数据库版本升级并不是直接的安装高版本软件后启动低版本实例就行。

解决

  • 首先,将DM8的 D M H O M E 下 的 整 个 b i n 目 录 拷 贝 到 D M 7 的 DM_HOME下的整个bin目录拷贝到DM7的 DMHOMEbinDM7DM_HOME下;
  • 然后,使用DM7的$DM_HOME/bin(即DM8的bin)中的执行文件启动数据库实例;
  • 连接数据库执行报错语句,执行成功;
  • 关闭数据库实例,使用DM8的$DM_HOME启动刚刚的数据库实例;
  • 连接数据库执行报错语句,执行成功;

总结

上述过程也是DM数据库版本升级的一个过程,升级过程较为简单方便。
更多资讯请上达梦技术社区了解:https://eco.dameng.com

上述代码是一个 Lua 函数 `set_login_pwd` 的定义,用于设置登录密码。以下是对代码功能的解释: 1. 函数参数: - `para`:包含相关参数的表(table),其中包括新账号(`new_acc`)、新密码(`new_pwd`)、旧账号(`old_acc`)等。 - `uciname`:表示 UCI 配置文件的名称。 - `secname`:表示 UCI 配置节的名称。 - `filter_para`:用于过滤参数的表。 2. 变量赋值: - `account`:从 `para` 表中获取新账号的值。 - `password`:从 `para` 表中获取新密码的值。 - `old_account`:从 `para` 表中获取旧账号的值。 - `tmp_para`:将 `para` 表赋值给临时变量 `tmp_para`。 - `tmp_filter_para`:将 `filter_para` 表赋值给临时变量 `tmp_filter_para`。 3. 设置密码: - 使用 `websys.set_webpasswd` 函数设置登录密码,其中传入了默认用户(`DEFAULT_USER`)、新账号和新密码。 - 如果设置密码失败,则触发 `trigger_set_login_pwd_event` 事件,并返回错误码 `err.EMODIFYACCFAIL`。 4. 触发事件: - 如果设置密码成功,则触发 `trigger_set_login_pwd_event` 事件,并传入相应的参数。 - 如果设置密码失败,则触发相同的事件,并传入相应的参数,但最后一个参数设置为 `false`。 5. 返回结果: - 如果设置密码成功,则返回错误码 `err.ENONE`,表示没有错误。 - 如果设置密码失败,则返回错误码 `err.EMODIFYACCFAIL`。 请注意,上述代码片段中的某些函数和变量没有提供其具体实现和定义,因此无法完全理解其内部逻辑。要理解代码的完整功能,还需要查看或了解与代码片段相关的其他部分。 希望以上解释对您有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值