![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hi there. Happy new year. I have been getting file corruption errors for a long time now, and I think I finally found the reason a couple of days ago: my little network hub. An article from GoldstarSoft and a check on packet collisions with a different hub led me to this conclusion. Now I've noticed that my files are heavily corrupted. My application performs the necessary BUTIL calls to recover most of the files, even though the results are not too convincing. Btrieve might think they are valid files, but many records have been displaced by two characters and are probably useless. One file in particular keeps me stuck. The problem is that the recovery process doesn't succeed if I use the menu option inside my application. I get a 'BUTIL-2: Message file initialization ...' error. Instead, both BFILTER and BTUTIL seem to come to a happy ending (DSAVE3A completely messes the file), but the application refuses to boot when their recovered version of the file is used. I can also produce a valid empty similar file, but as soon as the corrupted records are loaded, the application doesn't boot. In my opinion, it uses the owner name of this particular file as an anti-copy protection. The application uses a parallel port dongle, where this owner name might be stored. I don't know this name, but I guess that I need it if I want to restore the file from outside the application. I understand that the process of rebuilding the file without stating the owner name simply leaves it blank. I'm using a NetWare 3.12 server with the last patches applied and a mix of Win9x clients. The application is DOS-based, compiled very long ago from QuickBasic 4.5 sources that I obviously don't have, and uses BTRIEVE.EXE 5.1 as a requester, although the version of BUTIL is 6.x. Contacting the original programmer is not possible. I'd like to know if there exists a way to do the recovery process (don't care about the owner name by itself), and also would like to know if my several guesses sound like correct. I'm quite a newbie on all these matters but need to bring the application to working condition as soon as possible. I can bet I'm the person in the world who has read most about Btrieve in vane in the last two days. Many thanks, at least for reading. English is not my mother tongue, so sorry for any mistakes. |
#3
| |||||
| |||||
|
|
Sounds like you may have been bitten by the RealTek/DLink bug. On your Win98 machines, check the network card (NIC) drivers for a driver version dated 04/23/1999. This is especially critical if you see RealTek or DLink as the NIC manufacturer, and Microsoft as the driver manufacturer. Replace those faulty MS drivers with valid ones from the NIC manufacturer's web site as the FIRST step. |
|
The owner name is needed to open the file by the application. However, if the owner name is NOT present on the file, an attempted open by the application WILL succeed. As such, the lack of an owner name is not likely to cause your problem, but more likely the badly mangled data records are affecting it. |
|
The standard BUTIL recovery process is outlined on our white paper at www.goldstarsoftware.com/press.htm on the topic of maintaining Btrieve files. However, it sounds like your corruption has gone beyond what these tools can accomplish for you. If you want, send me a copy of the bad file and I'll see how much data can be saved. |
|
Of course, as you probably already know, since the Btrieve database format doesn't look at the data inside each record at all, it may recover data properly from the Btrieve structure which is hopelessly damaged internally (and only the application would be able to tell for sure). However, we can at least try... |
|
If the file is small, send it to me via Email. If it is large, let me know (via EM) and I'll send you info on our FTP site to upload it to. |
#4
| |||
| |||
|
| After reviewing the file, I've found that this file was not corrupted by |
|
Does this mean that my hub is not to blame, then? |
![]() |
| Thread Tools | |
| Display Modes | |
| |