首页 T+ 初始化 数据库导表-导前检查

数据库导表-导前检查


数据库导表-导前检查

一、空账套

1、检查发送过来的空账是否新建立的,必须使用新建的账套

select * from  GL_Doc

select * from  GL_Entry

select * from  GL_Journal

select * from  ST_RDRecord

select * from  ST_RDRecord_b

---语句作用检查账套是否存在凭证,出入库单据记录,如果存在代表不是空账套


2、检查空账套的软件版本,补丁版本,数据库版本与损坏账套是否一致

2.1、查看AdditionalXml.xml文件

具体参考文档【如何查看备份账套对应的T+软件版本】:

https://www.chanjetvip.com/doc/cate-68/doc-33672.html


2.2、 账套数据恢复到数据库中后,执行语句

select * from sm_upgrade order by version,orderno

如以下截图:表示账套已更新到了233号补丁,表中字段status=1 表示脚本执行成功。

2.3、在账套数据库中,执行语句:

select value from EAP_AccInformation where Name='UpgradeFinishFlag'

将查询出的结果,复制到网址:https://www.bejson.com/enc/base64/,进行解密,如下图:


表示账套已更新到了233号补丁

注意:如果是发送过来的损坏账套及空账套是物理文件,无法通过查看AdditionalXml.xml文件判断其版本,补丁号。 需按 2.2、2.3步骤所述方法查看。

二、损坏账套

1、检查损坏账套是否曾经做过导表,执行如下语句

select * from EAP_CJT_DefaultValue

select * from EAP_CJT_allindexs

select * from EAP_CJT_ALLCONSTRAINT

select * from checkdate

如果曾经做过导表,能够查询出结果,如果没做过导表,会提示对象名'XXXX' 无效

2、检查表中是否有建触发器,执行如下语句,如果有建触发器,执行会有结果

select triggers.name as [触发器],tables.name as [表名],triggers.is_disabled as [是否禁用],

triggers.is_instead_of_trigger AS [触发器类型],

case when triggers.is_instead_of_trigger = 1 then 'INSTEAD OF'

when triggers.is_instead_of_trigger = 0 then 'AFTER'

else null

end as [触发器类型描述]

from sys.triggers triggers

inner join sys.tables tables on triggers.parent_id = tables.object_id

where triggers.type ='TR'

order by triggers.create_date

3、检查损坏账套真实的软件版本,补丁版本

3.1、 账套数据恢复到数据库中后,执行语句

select * from sm_upgrade order by version,orderno

如以下截图:表示账套已更新到了233号补丁,表中字段status=1 表示脚本执行成功。

3.2、在账套数据库中,执行语句:

select value from EAP_AccInformation where Name='UpgradeFinishFlag'

将查询出的结果,复制到网址:https://www.bejson.com/enc/base64/,进行解密,如下图:

表示账套已更新到了233号补丁

作者:服务中心-赖勇洪 |  时间:2022年05月30日 10:24


对我有用 对我有用
没有帮助 没有帮助