有做过与上海、深圳行情数据有关的程序的高手吗? (50分)

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

zh_2001

Unregistered / Unconfirmed
GUEST, unregistred user!
我要从dbf库中读取数据,这个库是上海、
深圳的行情库!!钱龙转码机要从这个库读行情,同时有一个行情接收程序要往库里写
数据,必须保证这两个程序不会中断!我写的程序不需要往里面写数据,而是读出数据
保存起来,作为历史数据,不是写!所以,我要知道我要读的时候行情接收的程序是不是
正在往库里写数据,如果在写,就等一会再读,否则读出的数据可能有错!!
各位,明白我的意思吗?我不知道怎么判断是不是有程序正在往库里写?????
 
可以在用户1进行Edit状态时,报表以独享形式打开;
否则,以共享形式打开;
看可不可以,^_^!
 
可以用一文本文件来记录,若正在写DBF,则文本文件中写入该DBF的文件名,
待写完DBF后清除文本文件中的该项信息,另一程序可判断该文本文件中是否有欲读入的DBF文件,
无则读取,有则等待
 
用BDE API,DbiIsRecordLocked来检查当前RECORD是否有锁!,
其实你可以这样,设置一个锁变量 lockflg ,在每次写入数据时置lockflg:=true,写完后
置lockflg:=false;每次读数据前就这样去判定lockflg ...
 
不是自己的程序,不好控制,偶也想知道了
 
我要从dbf库中读取数据,这个库是上海、
深圳的行情库!!钱龙转码机要从这个库读行情,同时有一个行情接收程序要往库里写
数据,必须保证这两个程序不会中断!我写的程序不需要往里面写数据,而是读出数据
保存起来,作为历史数据,不是写!所以,我要知道我要读的时候行情接收的程序是不是
正在往库里写数据,如果在写,就等一会再读,否则读出的数据可能有错!!
各位,明白我的意思吗?我不知道怎么判断是不是有程序正在往库里写?????
 
如果上家的读、写程序是一套程序那你就可以抑制它的写入,加文件锁。另一种是根据recno来处理
永远不要碰到最大的recno,你的程序在离开边境的地方对付、跟着写入程序走。
 
老大,那个写入的程序是不能让它停止的!我读的数据就是它写进去的!
 
我很了解你的感受,沪深行情库都是DBF,用delphi不好控制。
 
直接用select语句,你只是读取,应该不会影响其它用户的操作。
 
不是会不会影响别的用户,而是要保证我读出来的数据是真确的,不是更新一半的数据!
 
我觉得你的担心是多余的,应该不会读出更新一半的数据。
 
我的数据是很重要的,不能出一点问题的!
为什么不会?总该有个理由吧?
 
‘更新一半的数据’应是保存在本地的Cachek中,提交后才真正写入数据表中,
所以‘我觉得你的担心是多余的,应该不会读出更新一半的数据’。同意!
 
zh_2001, 你用什么方式/工具打开该文件?

假如是用别人的东西(bde,或其他)读,你在读之前刷新,基本没有问题的,
因为他写的记录会上锁,读的要么是旧的,要么也会返回个错误或异常之类的,

要不就教你个简单的办法,去读乾隆的数据文件。
BTW:备份为什么一定要实时啊?
你可以转换乾隆的分时文件来得到所谓的备份啊,或者读他的日库。
 
楼上的,是人家让我读show128、sjshq等的,不可以读乾隆的,说那里面的数据不全面,
如果可以的,就不让我写了,我是证券公司的。
 
zh_2001,你好,我也是证券公司的,我也做过读show128库的程序。
你是要什么时候备份,3点以后不就没人写了。
 
3点以后?show128不是时刻在变的吗?我要把所有的行情信息采样保存下来!
3点以后没人写了,我也不读了啊!
 
证券公司的人就是这个时候容易碰到这个问题。我也在弄它。呵呵。。。
该死的深交所换接口。
 
后退
顶部