以文本方式查看主题

-  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
--  
谢谢版主。
但一方面是项目没有备份,另一方面,不能加载表的情况下,程序打开后在外部表管理界面应该是能够看到原来定义的表,但现在看不到了。但如果新建同名外部表,程序又提示同名表存在,这是很奇怪的事情。因为该表名在程序中多处引用,不方便改名重建,所以急需恢复原有外部表的办法。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:外部表看不见但仍存在.rar



--  作者:大红袍
--  发布时间:2015/6/26 9:21:00
--  

 呃,项目损坏了,联系一下客服看能否修复。

 

 要把你看看项目是否有 *.bak 的文件,改一下后缀名打开。