以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 开发版,数据库重建后,外部数据表丢失!求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70652) |
||||
-- 作者:run1973 -- 发布时间:2015/6/25 17:54:00 -- 开发版,数据库重建后,外部数据表丢失!求助 我是开发版用户,程序发布后给公司内部用户使用。前几天服务器维护,把sql2008数据库文件删除,后用备份文件恢复,数据库保持原样,也没有对foxtable程序代码做任何改变。 接下来内部用户反映启动应用后提示“找不到“**表”‘。 1、我打开最终版本的对应管理项目源程序,先是提示数据源找不到,要重新定义,我用开发者身份登录重新定义数据源后再启动,数据源错误提示消失,但和用户端提示一样出现: 加载“nj1表”失败,无法完成延时准备,无法预定义语句......之类。 2、我又用开发者身份登录,因为该项目使用的是外部表,于是我打开外部表管理,却发现外部表管理框内是空白,原定义的外部表不见了。 没有办法,我只好新建同名外部表,但奇怪的事情出现了,用原来的外部表名nj1重建时报错,提示“列’name‘被约束为是唯一的,值”nj1“(注:nj1是原外部表名)已存在。 问题来了,按道理说数据库文件的恢复不会对程序有影响,我原始版本的一个项目用的也是相同的数据源和外部表,启动没有问题。另外我确实没有动源程序,用户打包的应用也没有重新发布,外部表怎么不见了?按原表名重建,又提示该表存在,但外部数据表管理框内空空的,哪里找原来定义的表? 谢谢专家解答!!
|
||||
-- 作者:run1973 -- 发布时间:2015/6/25 18:03:00 -- 顺便提一句,在外部表管理框为空的情况下,想删除原来定义的数据源时会被要求先删除对应的外部表,这也证明的原来的外部表是存在的,只是由于某种原因找不到了。 |
||||
-- 作者:大红袍 -- 发布时间:2015/6/25 18:15:00 -- 如果你的项目有备份,退回到备份项目去。
退回后,基本是不用重新设置数据源的,如果要设置,说明的数据库名字有改动,如果提示不能加载表,说明你的表也有改动。 |
||||
-- 作者:run1973 -- 发布时间:2015/6/26 8:57:00 -- 谢谢版主。 但一方面是项目没有备份,另一方面,不能加载表的情况下,程序打开后在外部表管理界面应该是能够看到原来定义的表,但现在看不到了。但如果新建同名外部表,程序又提示同名表存在,这是很奇怪的事情。因为该表名在程序中多处引用,不方便改名重建,所以急需恢复原有外部表的办法。
|
||||
-- 作者:大红袍 -- 发布时间:2015/6/26 9:21:00 -- 呃,项目损坏了,联系一下客服看能否修复。
要把你看看项目是否有 *.bak 的文件,改一下后缀名打开。 |