首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

百分求解:怎么采用二进制流精确读取文件容量并分割

2012-02-24 
百分求解:如何采用二进制流精确读取文件容量并分割~是这样的,客户因为突然断电导致数据库坏了,,坏库。。。在

百分求解:如何采用二进制流精确读取文件容量并分割~
是这样的,客户因为突然断电导致数据库坏了,,坏库。。。

在客户端有2个文件DB表和LOG日志

现在想修复DB表,想采用的方法如下(以LOG文件为好为前提):

将以前备分的好的数据库(也包含好的DB表和LOG文件)的LOG文件取出,采用二进制流精确读取出LOG文件的长度,然后比较现在坏库的LOG文件,将2者的差生成的SQL语句提取出来执行一次,即可修复数据库。

LOG文件特大,,一般几百M

这是BOSS给我的方案。。。

我连二进制流是什么还不明白。。。

希望高手指点!!!!!!

[解决办法]
未曾搞过DB文件.

如果LOG也能要DB文件一样用SQL操作,这个方法是可行的.

另外, LOG文件能像DB文件一样操作了, 那和二进制流 有什么关系??!!
[解决办法]
如果你的 Log 是 100% 的完整,那么这个方法有可能成功,但很多键值关联的问题可能会让这个事情无法进行
[解决办法]
F1不就有帮助了?
感觉你的问题只要读两个LOG文件,逐个字符比较一下,遇到不同的地方停下来,把后面的SQL语句提取出来就可以了吧,我理解的对么?
[解决办法]
如果log完整,那么新的log只是比旧的后面多了点东西
TFileStream可以load进旧的可以知道他的size,load新的直接可以制定position等于对应的size,然后读取,这样就只得到你要的后面几k了
[解决办法]
如果不是利用sql server里面提供的备份功能,而只是copy了数据库和和log文件.想通过log文件的不同来进行差异恢复,应该是不行的.

热点排行