Smithware Home PageSmithware Product InformationHow to Order Smithware ProductsSmithware Technical SupportSearch the Smithware Web SiteBtrieve Developer's Journal MagazineContact Smithware by E-mailPervasive Software Home Page Smithware Home Page

Smithware DDF Sniffer

Note: On February 13, 1998, Smithware was acquired by Pervasive Software. This site is an archive of the materials that were on the Smithware site when was routed to This site is maintained for archival purposes only.

ActiveX Controls for Btrieve
I*net Data Server
Crystal Reports for Btrieve
DDF Builder
DDF Sniffer
VBX Controls for Btrieve
Butility for DOS

Other Products Available Through Smithware's Product Marketing Group:

ODBC Interface
Scalable SQL

Note: On February 13, 1998, Smithware was acquired by Pervasive Software. This site is an archive of the materials that were on the Smithware site when was routed to This site is maintained for archival purposes only.

DDF Sniffer will automatically parse existing Btrieve data files, looking for fields of information. If you have undocumented Btrieve data files, DDF Sniffer can cut hours off the tedious task of hunting for field information when building a DDF.

Sniffer uses proprietary data parsing and pattern recognition algorithms developed by Smithware, the leader in Btrieve database programming tools, to analyze the raw records in your Btrieve files, and determine possible underlying field structures.

Because Btrieve is a data-model independent, indexed record manager, it does not keep track of field storage within an application's data. It is up to the application to determine how a record returned by Btrieve is to be used. There is no way for an application which did not create and maintain a given Btrieve data file to interpret the data in the file meaningfully. That's why database front end tools which access Btrieve data require DDF files, to tell them where fields of information are stored within a record, and what those fields mean.

In the past, this has meant that users wanting to access Btrieve data had to do one of two things: persuade the application programmers who developed the application responsible for the data to release the file documentation or DDF's, or hack through the data byte by byte, determining the data structure by trial and error.

DDF Sniffer does most of the trial and error work for you, breaking the raw data of the record down into fields which consistently contain reasonable values over a range of records. DDF Sniffer cannot assign meanings to these fields, however, nor can it distinguish between fields which return reasonable results for more than one data type.

Once DDF Sniffer has parsed the raw data into field columns, you will be able to open the Btrieve file with DDF Builder for Windows, browse through the records, and determine meanings for the field columns based on the values they contain, thus completing the transformation of raw data into useful information.

How to Sniff a File

Select a Btrieve file to analyze from the list of Btrieve data files in your directory.

DDF Sniffer will tell you everything it knows about the data based on its analysis of the Btrieve header information, including the number of records in the file, the index structure, and the data types used as index fields. Use this information to adjust DDF Sniffer sensitivity options.

DDF Sniffer begins by defining the portions of the data record which are designated as index fields. Then it analyzes the raw data in the remaining non-indexed portion of the record, parsing out first alphanumeric fields, then packed numeric and date fields, by creating columns of data which have consistently reasonable values from one record to the next. DDF Sniffer saves the resulting record definition in a DDF Builder Interchange Format (DBIF) file.

Use DDF Builder to import the file definition, and save it in data dictionary (DDF) file format. Open the file with DDF Builder, and browse the record values to determine what information is stored within the fields. Assign meaningful field names to the fields, modify field type or length as necessary, and before long you have a complete DDF dictionary of your Btrieve data.

Q: Why do I need DDF Builder? Can't DDF Sniffer just read the Btrieve data file and create DDF files automatically?

A: DDF Sniffer can't determine a file's data structure with one hundred percent accuracy. DDF Sniffer starts with raw Btrieve data. Initially, all it knows about the files it scans is the length of the records, the number of records in the file, and the index field positions, lengths, and data types. For example, USERS.DAT, a Btrieve data file, might contain system user information. An analysis of the file's status information indicates that the records are 100 bytes long. There are 1000 records in the file. Indexes defined for the file indicate that there is an integer key in the first 4 bytes of the record, followed by a string field in the next 20 bytes. The integer and string are the only two fields that DDF Sniffer can positively identify by position, length, and type. DDF Sniffer must make educated guesses about how the 76 bytes in the rest of the record is parsed. You'll need to view the data to determine whether the fields parsed from the non-indexed areas of the record make sense within the context of the application which generated the data, and you'll probably want to make a few changes.

Q: Will DDF Sniffer work with all Btrieve data?

A: No. There are several reasons that your Btrieve data may not be definable in DDF format. Btrieve stores the data an application gives it, and retrieves that data when the application requests it. Btrieve does not impose a structure on the data. The DDF specification was developed to define SQL-format data. Though DDF Sniffer should work with the vast majority of Btrieve application data, non-SQL applications may not store their data in normalized files, or they may use data types which are not supported by the DDF standard. Other factors may affect DDF Sniffer's ability to parse a file, such as the size of the record sample or the complexity of the record structure. That's why DDF Sniffer comes with a 30-day money back guarantee.

For more information:
For complete product information on DDF Builder, see
DDF Builder Product Information.
See for yourself everything this product can do!
Download Product Help Files.

DDF Sniffer $229.95
To Order Call Toll-Free (800) 828-7438 or (615) 386-3100 or CLICK HERE for on-line ordering information!

Copyright © 1988, 1998 by Smithware, Inc. All rights reserved.
Smithware, Controls for Btrieve, DDF Builder, DDF Sniffer, Btrieve Developer's Journal, and Power Tools for Btrieve are trademarks of Smithware, Inc. Btrieve is a registered trademark of Pervasive Software, Inc. ActiveX, Windows, Windows NT, and Internet Explorer are trademarks of Microsoft Corp. All other product or brand names are trademarks or registered trademarks of their respective owners. Legal Notice.