问题现象:网上银行建年度账失败。建立新年度帐失败,报错信息:网上银行新建年度帐插入错误:列名或所提供值的数目与表定义不匹配。确定后,再报错:传输网上银行信息(NBNewAcc.DLL)失败!确定后,再报无法除去数据库'UFDATA_322_2006',因为它当前正在使用。确定后,再报建立年度:[2006]不成功!
问题原因:是由于该数据从低版本升级至U852,在2005年数据库中的NB_payAccountInfo表结构有问题。
解决方案:在2005年数据库中的NB_payAccountInfo表设计中加上一列:列名cAccName,数据类型varcher,长度60,允许为空。再建2006年年度帐,成功。
或者
一 备份数据
二 补丁u852 编码为1584
三 执行
ALTER TABLE dbo.NB_PayAccountInfo ADD caccname varchar(60) NUL
若
建立年度帐中出现上述错误的同时提示: 无法除去数据库‘ufdata_002_2006’因为它当前正在使用. 修正方法为:比较数据库‘ufdata_001_2006’与数据库’ufdata_001_2007’中的表NB_PAYACCOUNTINFO(网上银行对方帐号信息表) 的结构,发现该表中的列cAccName有两种情况:
1、在2007年中有而在2006年中没有,找到该表,点击右键选择设计表,增加列cAccName及其相关的属性(数据类型:varchar;长度:60;允许空:√)。
2、在2007年中没有而在2006年中有,06年度数据库中找到该表,点击右键选择设计表,删除该列cAccName 以新年度帐中的表:NB_PAYACCOUNTINFO结构为准!

订阅我的BLOG(RSS)