You don't have your outer loop shown there. Keep in mind that there
will be a short period of time when a database file is closed that the
engine (and subsequently, the OS) is still busy writing out the data.
If you are truely running in a small open/access/close loop, then you
may just be seeing the wait for the OS cache to get flushed.
Not sure why else you'd get this, though I suspect that there is some
OS limitation you are seeing. With the 6.15 workstation engine, you
can probably run SysInternals/Microsoft "FileMon" tool to gain a bit
more insight.
Goldstar Software Inc.
Pervasive-based Products, Training & Services
Bill Bach
BillBach@[EMAIL PROTECTED]
Chicago: Pervasive Service & Sup****t Class - 07/2007 ***
mohsen_fakhari@[EMAIL PROTECTED]
wrote:
> Hi
> Thank you for your answers.In fact I was disappointed.
> well,I disabled AV completely, nothing changed.
> If the files were readOnly,I think I couldn't get any results but I
> get NO_ERROR after some attempts.
> However I checked them.
> And this is the code.It's not readolny mode.
>
> memset(dataBuf , 0 , sizeof(dataBuf) );
> memset( keyBuf, 0, sizeof( keyBuf ) );
>
> strcpy(dataBuf , "MA48");
> strcpy( (BTI_CHAR *)keyBuf, fileName );
>
> keyNum = 0;
> dataLen = 5;
> /* open the DAT file */
> i = 0;
> status = BTRV(B_OPEN, posBlock, dataBuf, &dataLen, keyBuf, keyNum );
> while(status == 88){
> fp = fopen("unLog.txt" , "a");
> fprintf(fp , "%d," , i);
> fclose(fp);
> Sleep(SLEEP_TIME);//Some time this sleep reduces the wasted time in
> the loop
> status = BTRV(B_OPEN, posBlock, dataBuf, &dataLen, keyBuf, keyNum );
> i += 1;
> }


|