APPXUTIL Overview
This document is applicable to versions of APPX prior to 4.2.0. If you are using a later version refer to
File Analysis & Recovery.
What is APPXUTIL?
APPXUTIL.EXE is used to invoke the command line functions of APPX, on a Windows PC. These functions include:
-v |
Data file/key integrity verification (to detect file corruption) |
-an |
Data file/key integrity analysis (to analyze possible file corruption) |
-e |
Second step of data file export (after Exporting from the menu) |
-i |
First step of data file import (before Importing from the menu) |
Why does a user of APPX for Windows need it?
Traditionally, APPX data file verification and analysis are done from the command line, using the normal 'appx' engine itself. Since APPX for Windows is a GUI program, and the data file verification and analysis functions are text-based utilities, it is necessary to have a separate, alternate copy of the 'appx' engine which runs in text rather than GUI mode, in order to use those functions. This alternate version of APPX is called APPXUTIL.EXE.
Starting with APPX 3.3 and above, the data file verification (-v) function can be invoked from the database management menu, so it is not necessary to use APPXUTIL.EXE to access that capability. However, APPXUTIL.EXE is still needed by users of APPX 3.3 and above, to perform one of the two steps required for cross-platform data file import/export, and for detailed data file/key integrity analysis.
Where do I get it?
You can get appxutil from http://www.appx.com/ftp/. Go to folder appx/support/utilities/appxutil and download the appxutil.zip file.
Verifying data files with APPXUTIL
What does it mean to 'verify' a data file?
Verification checks to make sure there are no duplicate keys, that each key points to only one record, that all keys point to active (rather than deleted) records, and that all indexes for that file have the same number of keys.
When might I want to do it?
-
If your file system (disk) fills up. Adding records to a file on a full disk is likely to corrupt the file.
- After a system crash during which there were active users on a system. You should verify all files in the database before allowing users back into APPX.
- When certain records you "know" are in a data file, do not show up as expected on a report or input display, you might want to verify that file.
-
When a constrained child process fails to correctly retrieve data, you might want to verify the PCF of the child process.
-
For routine file maintenance. Once a month on your datafiles and on application design files that are being editted is recommended.
How can APPX data file indexes become corrupt?
The 'APPXIO' file system has proven itself to be very stable over the years. However, no database system is immune to the effects of system or application crashes, in which unpredictable things happen to database files. For example, APPX might be in the middle of adding a record, and has completed updating 2 of 3 keys, at the time of a crash. This leaves the index for that file in an inconsistent state. The data itself is correct and intact, but the key file must be rebuilt in order for the indexes to be correct. Typically, a system administrator is not going to know in detail what was happening on the system, when a power failure or equipment problem occurred, and will not know whether any APPX data files on the system became corrupted as a result. Verifying the data file would tell you whether or not it is necessary to run "Rebuild keys" for that file.
How do I verify the file 'ORDER' in application 'AAA', database 'DDD'?
-
Obtain APPXUTIL.EXE from our FTP site, and put it in the same directory containing APPX.EXE
-
Open a DOS box on the NT or Windows 95 machine containing the data files. While it is possible to verify data files across the network, it is most time-efficient to run the verification on the actual machine (server) on which the data files are located.
-
"cd" to the directory containing the files - for example, if my APPX data files were stored in C:\APPX\DATA, and I wanted to verify the file named above, I would:
-
c:
- cd \APPX\DATA\DDD\AAA\Data
-
Run "appxutil -v=filename.dat" - for example, for the scenario described in this section, type:
How do I verify all files in a database?
The "appxutil -v" command verifies one file at a time. To verify an entire database, you could individually enter the commands at the DOS command prompt, but it is more efficient to create a batch file which does it. Use your favorite text editor to create a text file (NOT a .doc file!) which looks like:
- c:
- cd \APPX\DATA\DDD\AAA\DATA
- appxutil -v=CUST.dat
- appxutil -v=CUST2.dat
- appxutil -v=DEPT.dat
- ...(include a line for each data file)
It's necessary to add a line to the script for each data file. You may want to do a "dir > temp", then bring that up in an editor window, and cut and paste filenames into the verify script. Save this file as "verfyAAA.bat", in the directory containing appxutil.
It is a good idea to create a batch file to verify each of your databases, in advance, so that when you want to verify all files in a database, you can just run the applicable script without having to spend time creating it.
Analyzing data files with APPXUTIL
Analyzing a data file will interactively provide more information about the file's internal structure. In general, this isn't important unless the file has failed verification.
For more information, see File Analysis and Recovery
Comments:
Read what other users have said about this page or add your own comments.
--
ChrisBrower - 2011-06-21