|
问题现象:在用友8.50erp系统中用友U8版本号:U8.50软件的供应链产品线销售管理模块出现如下问题:8.50销售管理将4月1日的备份恢复后,将2005目录的文件附加后,无法在销售管理中填制发货单。提示“连接失败”。请帮忙解答!
原因分析:数据库问题。
解决方案:在用友erp 系统版本U8.50软件中首先需要用修复工具将可修复错误修复,由于最后SYSINDEXES表有一个错误无法修复,所以进行导表操作,步骤以及注意事项如下:对于一些数据库损坏,需要倒表的问题,可以参照如下的方案进行:--注:如果仅仅是将目的数据库的表结构重新由正确的库结构建立,则可跳过步骤11.首先新建数据库:注意:对于文件命名,应取和正常的数据库相同的名字.即:数据文件和事务日志的名字分别为ufmodel,ufmodel_log2.执行倒表工作:一般来说,会想到使用[导入/导出数据]来进行.但这样做不能将表中的对象导入.而且更为关键的是,数据表中的自增长字段无法导入.因此,需要采用游标来实现,具体实现语句如下:--其中TargetDB和SourceDB分别是目的数据库和源数据库,当目标库中存在源库的非系统表时,应先清除。语句未进行判断及自动清除declare@DesTablenamevarchar(50)declarenewCurcursorfor--选择需要倒的表。一般来讲选择全部非系统表,如有特殊需要,可通过name字段进行条件控制selectnamefromSourceDB..sysobjectswherextype='U'andname'dtproperties'--此处要注意,在对象类型为"U"的用户表中,有dtproperties这样一个系统表,应将其排除orderbynameforreadonlyOpennewCurFetchnextfromnewCurinto@DesTablenamewhile@@Fetch_Status=0--标志游标是否已经遍历所有记录0时,结束beginprint@DesTablenameexec('select*intoTargetDB..'+@DesTablename+'fromSourceDB..'+@DesTablename)--分别是目的数据库和源数据库FetchnextfromnewCurinto@DesTablenameendclosenewCurDEALLOCATEnewCur这样,将所有的表及数据导入新的数据库中.而且对于自增长字段也能够重建.但是数据库中的视图,存储过程,表中的索引,约束,关系等不能重建,因此需要使用脚本单独重建.接下来,根据损坏的数据库的软件版本,比如用友U851财务软件A,找到一个完好的用友U851财务软件A的数据库,来生成脚本语句.注意,在使用SQL管理器的[生成SQL脚本]功能时,有一些选项需要做控制,根据具体情况判断需要编写哪些对象脚本。比如是否Create,是否Drop等确实没有一个统一的方案,需要各位在实际应用时,根据各个选项的意义,具体选择处理。通常来讲,可做如下控制:[常规]选项卡下,选中[编写全部对象脚本][设置格式]选项卡下,去掉所有选项[选项]选项卡下,选中"表脚本选项"的所有4个选项。
|
|