文件数据还原

longspring 2017-05-13 10:25:48
以前自己搞了个记账软件,用access作为数据库,然后每次退出的时候用
备份字符串=File.ReadAllText(数据库文件,Encoding..GetEncoding("gb2312"));
把备份字符串存到一个文件来作为备份,有天那个使用中的数据库文件突然坏了,好多数据丢失了,现在问题来了,把原先备份的字符串想恢复成access数据库,怎么搞都不行,以前做的时候很菜没考虑那么周到,恢复测试都没做过。
目前手头只有留下来的备份字符串,不知道怎么才能把数据恢复出来,哪位高人指点下?
...全文
209 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2017-05-15
  • 打赏
  • 举报
回复
如果是 dbf 格式,手工就可恢复回来 现在的问题是你把二进制数据文件,当作文本文件进行了处理,还做可编码转换 那些不符合 gb2312 编码规范的内容就都丢失了 或许你可以将“备份”文件传到网盘上,看看能否有人能恢复
longspring 2017-05-15
  • 打赏
  • 举报
回复
以前玩VFP时候,有2个函数是filetostr和strtofile,他们不管是文本文件和二进制文件,直接读取和写入,都没有问题的,可能思想上受到影响,再加上access库感觉很少出问题的,所以麻痹大意了,哪位高手再分析下看看?
threenewbee 2017-05-14
  • 打赏
  • 举报
回复
二进制文件,你读取的字符串有毛用
crystal_lz 2017-05-14
  • 打赏
  • 举报
回复
我就来蹭一下分算了吧。。。。
xuggzu 2017-05-13
  • 打赏
  • 举报
回复
既然有备份,那只要知道数据库结构,就可以还原。也就是普通的读文件写数据库操作。如果不知道数据库结构那就没办法了。
exception92 2017-05-13
  • 打赏
  • 举报
回复
数据库文件突然坏了 ->那估计没救了吧
  • 打赏
  • 举报
回复
引用 4 楼 longspring 的回复:
现在就是遇到打不开的问题,估计是文本方式读取和保存丢失一些信息了,不知道有没有通过编码转换来恢复,或者根本就不可能了,但是对access的mdb库的结构又不熟悉,找了很多恢复软件,完全不认,有没有谁手工提取过? 虽然考虑了备份的问题,看着那些保存的备份文件,觉得讽刺得很。
不能用了,扔掉吧。 编程以测试为准,在过去,再你编写备份程序的时候,就应该同时也写下几行代码来打开备份文件(数据库)。现在一切都晚了,扔掉吧。
longspring 2017-05-13
  • 打赏
  • 举报
回复
现在就是遇到打不开的问题,估计是文本方式读取和保存丢失一些信息了,不知道有没有通过编码转换来恢复,或者根本就不可能了,但是对access的mdb库的结构又不熟悉,找了很多恢复软件,完全不认,有没有谁手工提取过? 虽然考虑了备份的问题,看着那些保存的备份文件,觉得讽刺得很。
xuzuning 2017-05-13
  • 打赏
  • 举报
回复
将你所谓“备份”的文件改名为你需要的数据库名,看看是否可以了 不过我估计很悬! access 是二进制文件,你用文本方式读取和另存,多半是要丢失一些东西的,也就是不能再还原了 其实你本该是用 File.Copy 的

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧