当前账套无效处理方案总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当前账套无效解决方案总结
本期概述
●本文适用于K/3 WISE V12.1。
●学习完本文档以后,可以了解出现“当前账套无效”错误提示时,问题的分析思路
和处理方案。
版本信息
●2012年3月25日 V1.0 编写人:卢锦煌
●2012年3月30日 V2.0 审核人:杨吉
版权信息
●本文件使用须知
著作权人保留本文件的内容的解释权,并且仅将本文件内容提供给阁下个人使用。
对于内容中所含的版权和其他所有权声明,您应予以尊重并在其副本中予以保留。
您不得以任何方式修改、复制、公开展示、公布或分发这些内容或者以其他方式把它们用于任何公开或商业目的。
任何未经授权的使用都可能构成对版权、商标和其他法律权利的侵犯。
如果您不接受或违反上述约定,您使用本文件的授权将自动终止,同时您应立即销毁任何已下载或打印好的本文件内容。
著作权人对本文件内容可用性不附加任何形式的保证,也不保证本文件内容的绝对准确性和绝对完整性。
本文件中介绍的产品、技术、方案和配置等仅供您参考,且它们可能会随时变更,恕不另行通知。
本文件中的内容也可能已经过期,著作权人不承诺更新它们。
如需得到最新的技术信息和服务,您可向当地的金蝶业务联系人和合作伙伴进行咨询。
著作权声明著作权所有 20xx金蝶软件(中国)有限公司。
所有权利均予保留。
目录
1. 问题描述 (3)
2. 原因分析 (3)
3. 解决方案 (4)
3.1 所有账套操作异常 (4)
3.1.1 数据库服务未启动 (4)
3.1.2 中间层组件丢失 (5)
3.1 部分账套数据库实体置疑 (8)
1. 问题描述
在K/3账套管理的账套列表中,选择账套并单击工具栏上的【用户】按钮,打开【用户管理】功能时,出现错误提示“当前账套的系统账号无效,请在账套属性中更改!”,如图-1所示。
图-1 账套系统账号无效错误提示
通过K/3主控台登录该账套,错误提示为“无法建立数据连接。
”,查看高级提示信息中包含“Source:Microsoft OLE DB Provider for SQL Server”的内容,如图-2所示。
图-2 客户端登录错误提示
2. 原因分析
账套管理中单击【用户】按钮,出现“当前账套的系统账号无效,请在账套属性中更改”的报错情况,根据问题产生的范围,可以将问题大体分为两大类:所有账套异常和部分账套异常。
1.如果该问题产生范围是所有账套,原因可能包含以下几个方面:
(1)数据库服务器意外断电或重启,导致数据库服务未正常启动;
(2)中间层服务器上组件丢失或异常。
2.如果该问题产生范围只是部分账套,此时打开账套属性设置窗口,查看当前的账套属性设置,确认系统账号选择为“SQL Server身份验证”,且系统用户名、口令设置以及数据库服务器名称均正确,单击【确定】按钮保存账套属性时出现错误提示“该数据实体不是有效的金蝶账套!”,如图-3所示。
图-3 不是有效的金蝶账套错误提示
此类现象较大可能性原因就是账套对应数据库实体发生了置疑。
数据库实体发生置疑的原因包含以下几个方面:
(1)数据库服务器意外断电或重启,导致程序非正常退出引起实体置疑;
(2)错误的删除数据库日志;
(3)硬件(HD)损坏,造成日志和数据文件读写错误;
(4)硬盘的空间不够,比如日志文件过大。
3. 解决方案
3.1 所有账套操作异常
当所有账套登录都出现异常,就需要考虑服务器的环境,例如系统服务、中间层组件等,特别是中间层和数据库服务器分开部署时,还需要考虑两台服务器之间的连接是否正常。
3.1.1 数据库服务未启动
在数据库服务器上检查数据库服务是否已启动,其中SQL Server2000的服务名称为“MSSQLSERVER”,SQL Server 2005以及SQL Server 2008的服务名称均为“ SQL Server (MSSQLSERVER)”,本文以SQL Server 2005为例进行介绍。
依次打开【控制面板】→【管理工具】→【服务】,在服务列表中查找对应版本的SQL 服务,确认服务状态是否为“已启动”,如图-4所示。
图-4 检查数据库服务是否已启动
当在服务列表中数据库服务状态显示为空白,表示数据库服务未启动,右键SQL Server (MSSQLSERVER)服务单击选择【启动】。
当数据库服务可以正常启动时,不会弹出任何提示信息,启动后会自动更改数据库服务的状态为“已启动”。
但当数据库服务出现异常,启动时就会弹出提示信息,如图-5所示。
此时就需要检查数据库服务的属性设置,【登录】页签下
的登录身份选择,可更改为【此账户】,并选择具有管理员权限的用户启动该服务即可,如图-6所示。
图-5 数据库服务启动异常
图-6 更改数据库服务属性指定用户启动
当然,服务无法启动的报错现象和产生原因多种多样,如果情况较为少见,建议可根据报错提示并通过网络搜索的方式查找相应的处理方案,有时SQL Server程序出现严重损坏无法修复时,可能需要重新安装SQL Server程序,此时需要注意备份好数据库实体文件。
3.1.2 中间层组件丢失
中间层组件的缺失,会导致账套管理在执行操作时调用组件失败。
通常情况下,中间层组件缺失会导致在账套管理中单击【用户】按钮,出现“当前账套的系统账号无效,请在账套属性中更改”的报错,但在主控台登录的时候却不会出现“无法建立数据连接”的报错,K/3主控台登录时偶然情况下会提示如图-6所示的报错信息。
图-6 客户端登录错误提示
引起此类问题现象的中间层组件为EbsAutoUpt.CUptSql,该组件对应的注册文件为%\KINGDEE\K3ERP\KDSYSTEM\KDCOM\EBSAUTOUPT.DLL,可手工执行该组件的注册。
1.依次打开【开始】→【运行】,在【运行】窗口中输入“dcomcnfg”,单击【确定】按钮,打开【组件服务】窗口。
2.在窗口左侧列表中,依次展开【组件服务】→【计算机】→【我的电脑】→【COM+应用程序】→【ebosystem】→【组件】,如图-7所示。
图-7 组件服务窗口
3.右键单击【组件】选择【新建】→【组件】,在【COM+组件安装向导】窗口中依次单击【下一步】→【安装新组件】按钮,如图-8所示。
图-8 新建组件
4.在打开的【选择要安装的文件】窗口中,浏览选择到K/3程序安装路径下的EBSAUTOUPT.DLL文件,并单击【打开】按钮回到【COM+组件安装向导】窗口,依次单击【下一步】→【完成】按钮,结束组件注册,如图-9所示。
图-9 新建组件选择EbsAutoUpt.dll文件
注意:如果在组件服务的【COM+应用程序】列表中不存在ebosystem组件包,建议重新注册中间层组件。
依次打开【开始】→【所有程序】→【金蝶K3】→【金蝶 K3 服务器配置工具】→【中间层组件注册】,具体配置参考相关的中间层安装配置文档。
3.1 部分账套数据库实体置疑
由于数据库实体发生置疑的可能性较多,部分置疑的数据库实体可以通过分离附加的方式使得数据库实体恢复正常连接,但也存在较多情况下,由于数据库日志文件或数据库实体文件本身发生了损坏,导致数据库实体发生置疑,此时就无法通过简单的分离附加的方式进行处理。
本文简单介绍对置疑的账套数据库实体分离附加的方法,其他异常的情况由于不可预知性,本文中将不详细说明处理方式。
1.打开【账套管理】功能,在账套列表中找到无法正常使用的账套所在行,查看并记录该账套对应的【数据库实体】列,该列内容为账套的数据库实体名称,如图-10所示。
图-10 账套管理查看数据库实体名称
2.依次打开【开始】→【所有程序】→【Microsoft SQL Server 2005】→【SQL Server Management Studio】菜单,登录连接进入数据库资源管理器。
展开【数据库】找到异常账套对应的数据库实体名称,单击选中该数据库实体后查看到右侧列表显示为空白,如图-11所示。
而正常的数据库实体选中后右侧列表显示如图-12所示,列表显示为空白表示当前数据库实体发生了置疑。
图-11 查看异常账套数据库实体
图-12 查看正常的数据库实体
3.在【我的电脑】中搜索该数据库实体名称,本例中的异常账套的数据库实体名称为AIS20101126160333,找到数据库实体文件存放的磁盘路径。
4. 在数据库中右键选中该实体,并在菜单中选择【任务】→【分离】,如图-13所示。
进入如图-14所示的【分离数据库】窗口,单击勾选【删除连接】,并单击【确定】按钮。
图-13 选择分离数据库
图-14 数据库分离
5.查看对象资源管理器的数据库列表中已经没有了该实体,然后右击单击【数据库】选择【附加】菜单,如图-15所示。
图-15 执行数据库附加
6.进入附加数据库窗口,如图-16所示,单击【添加】按钮。
打开如图-17所示的【定位数据库文件】窗口,选择到异常数据库实体文件存放路径,并单击【确定】按钮。
图-16 附加数据库
图-17 选择数据库实体文件
7.回到【附加数据库】窗口,如图-18所示,在【数据库详细信息】列表中确认数据和日志文件均准确,单击【确定】按钮,即可在数据库列表中查看已经正常恢复的账套数据库实体,如图-19所示。
图-18 确认添加数据库实体文件
图-19 正常恢复的账套数据库实体。