奇怪的现象,大家来争分了!!!(100分)

  • 主题发起人 主题发起人 zhuoyuesky
  • 开始时间 开始时间
Z

zhuoyuesky

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是paradox数据库,建了10个库,使用动态别名如下:
Table1.databasename:='d:/tempdata/1';
table1.tablename:='test.db';
当使用的库的记录数达到20000时换库,我每次提交过数据库后都将数据集关闭了.
但为什么已经转到第7个库了一掉电,不但第7个库索引毁了,前面几个库的索引也都毁了
请高手指教!
 
在你的软件中虽然是关闭了,但:
你的win系统中,数据还缓存着,所以...
 
paradox碰到断电就很危险呀。所以我从此以后不用它。
 
用paradox等一些本地表时,程序POST数据后有时并没有写到DISK上,直到程序关闭的时候,
如果这时候断电就会产生上面的情况,
解决方法是每次POST数据之后都强迫把数据写到磁盘:
procedure TForm1.Table1AfterPost(DataSet: TDataSet);
begin
Check(DbiSaveChanges(Table1.Handle));//uses BDE unit
end;
 
楼上的说得不错,使用BDE的API函数强制写磁盘中。
 
这样啊,才知道啊。
 
用Flushbuffers把数据写到磁盘,不过要在这个之前发生断电,还是很危险。
 
我使用了table1.flushbufers,如果掉电对当前库有冲击是可以理解,但为什么前面几个
库的索引也坏了.还有我去掉索引如果掉电,就变成了数据库文件头错误.有没有方法可以
先尝试打开表如果错误就修复索引?请大家指教!
 
我觉得用QUREY好,这样不管是本地还是大型数据库都通用。
也不会出现你所遇到的情况。
 
用query也不行,并且数据表很大化会很慢,我的一个表有200多M
 
我个人认为. 有 200M 的 表的 时候 , 你应用 大型 一点的数据库了.

要 稳定 很多.

很多人 反应用 PX 的 库不太稳定, 掉电会出现 崩溃.

你可以用 SQL SERVER .ORC , 小一点, 就用 ACCESS 吧.
 
强迫把数据写到磁盘
 
谢谢大家
 
多人接受答案了。
 
后退
顶部