1. Tell us how can a Btrieve file format version be checked? In other words, how can someone determine whether a Btrieve file is stored in 5.x or 6.x format?

The process is as follows:

- Run the BUTIL NLM version 6.x from the file server, which displays the version of file format after executing a STAT call.

- No client BUTIL program is available to display this status

- Another way is to check the version format of a Btrieve file by using DOS DEBUG utility

- Type debug-d at DOS prompt.

- The initial two bytes of the FCR will be set to FC when the file is stored in 6.x format.
- Otherwise the bytes will be set to 0x00.

2. Tell me how to create Data Definition Files (.DDF) files to work with third-party products that requires them?

The .DDF file can be obtained in two ways;
- The vendor of the product should be able to provide .DDF along with the software.
- Or, use Xtrieve PLUS,XQL or NetWare SQL for creating the .DDF file.

3. Suppose when I run the NetWare Btrieve v5.15 NLM with some applications on NetWare v3.11, retrieved Btrieve data is incorrect (but not corrupted). It appears, as if the wrong records are being accessed intermittently. What should I do?

To ensure the data retrieval correctly by Btrieve:

- Use the latest version of NetWare Shell - IPX v3.10, NETX v3.22 or NETX v3.26

- Make sure that latest BREQUEST.EXE is running

- Verify the Btrieve data file's page size

- If the pages are not evenly divisible into 4k, NetWare mishandles the pages

- Use only the pages of sizes 512k, 1024k, 2048k, or 4096k.

- The situation would be resolved by using NetWare Patch ASNCROFX.NLM

4. Explain will Brequest works in an OS/2 v2.0 DOS Box?

- Brequest will not properly function in multiple private DOS boxes. The system will halt.

- Trap D occurs when Btrieve calls are made.

5. Tell me can BREBUILD rebuild Btrieve files created in the Btrieve v3.x format, or is it needed to run another upgrade utility first?

- Rebuilding Btrieve files is possible using BREBUILD, if they have not extended across a volume.

- CONVERT4 should be used after the files have been extended, for the purpose of translating Btrieve v3.x files to v4.x format

- Later we can run BREBUILD.

- Btireve v4.x and v5.x files can also be rebuild using BREBUILD.

6. Explain does a user need create rights in the directory where a Btrieve file is stored, in order to open that file in accelerated mode?

- Yes. the right creation is necessary.

- Btrieve may create a file called pre-image file, in accelerated mode.

- During an insert(2), an index does not allow the duplicates and the insertion of records causes a duplicate error that is to be returned.

- Any pages that have been updated already for the insertion, would need to roll back.

7. Tell me can a supplemental index be created through Btrieve or NetWare SQL at the time that the Btrieve file is created?

- No. Because Btrieve always bypasses the bit 7 of the key flags at the time of creation.

- The bit 7 is designated as an index supplemental

- The indexes are created as permanent.

8. What is status 1015?

- Prior to starting the application, if the environment variable SET BTRPARMSCHK=Y is specified, the status 1015 is returned.

- Isolation of errors that are caused by passing invalid pointers to Btrieve is done by using this environment variable.

- Once this variable is set, Btrieve performs the validation on pointer parameters that are passed in to READ/WRITE access on certain ranges.

- Btrieve validates position block pointer on the range of 128 bytes, length pointer validates on two bytes and data buffer is validated on 255 bytes for key buffer

9. Tell me if an application runs twenty-four hours a day, how to perform a backup?

-Once a file is opened by Btrieve, no other user / application can open it until Btrieve closes that file.

-The operating system's 'copy' command will not work

-One can back up the Btrieve file using BUTIL operations.

-BUTIL operations uses CLONE for creation of a backup file.

-Followed by CLONE, COPY command is used to backup the records from one file to backup file.

10. Tell me how to convert a bunch of .btr and .lck files to a readable SQL?

-Every Btrieve file and DDf has a owner of their creation.

-Owner name can be used to read only access.

-SET OWNER = command is used before utilizing SELECT statement.

-.lck files are lock files and can not read them directly.

-.btr files are DDF files.

-The conversion can be made by using ODBC DSN that points to data and utilizes SSIS or DTS to export the data from.

Download Interview PDF

11. Can you please explain the features available in Btrieve Commander?

-Btrieve Commander is a file viewer.

-The primary view is named as Main View that lists the records one per line. A cursor vertical bar indicates the current record.

-Record View : It shows the records in the Main view and is limited

-Calculate Totals : This views allows to compute numeric fields of current record

-Import and Export of Records : The records in Btrieve can be imported from or exported to a Comma Separated Value files or the raw format that is utilized by the BUTIL's save function.

12. Can you explain System and User Transactions?

-System transactions are non-transactional operations

-System transactions are used for data recovery using MKDE.

-User transactions are concurrent transactions.

-User transaction might have lost when a recent transaction was rolled back

-When a user transaction is rolled back, an option might be set which causes the MKDE to force the system transactions.

13. What is File sharing?

-Data available in a file can be shared by using Single Engine File Sharing and Multiple Engine File Sharing modes.

-SEFS is allowed only to the clients to access the engine for altering databases.

-MEFS allows multiple clients running under multiple engines for accessing the database.

14. Tell me what happens when you use NetWare Btrieve v5.x to access a Btrieve file that was created in the v6.x format?

When you attempt to open v56.x file with v5.x version, a status (I/O error) will be returned

15. Tell me what happens when you use NetWare Btrieve v6.x to access a Btrieve file that was created in the v5.x file format?

NetWare Btrieve v6.x can access both v5.x and v6.x format files simultaneously and the performance is proper.

16. Explain using the NetWare Btrieve NLM v6.0, BTRMON and NDBMON show files as opened by a different user than the one that originally opened the files and I cant back up or close those files. Why does this happen and what is the solution?

- When Netware time restrictions are in force and any user's connection to NetWare is terminated, the Btrieve files are remain open to that connection.

- If a new uses logs in and uses the same connection ID, the Monitor utilities will show all the files opened by new user.

- All these files have opened by Btrieve

- Back up can be taken when they are not in Continuous Operations Mode.

- As the necessary Btrieve Position blocks are not available, the user can not access these files.

- The application should perform an explicit Btrieve Reset Operation in order to avoid leaving files open or the work station should reboot before NetWare time restrictions take effect.

17. Suppose after upgrading to NetWare v3.11 and the NetWare Btrieve NLM v5.15, Btrieve is running slower than expected. What are the factors and how to fix them?

The following are the factors

- The page sizes of Btrieve are set to 1024 and 512 bytes

- All the workstations are configured with IPX v2.15

- The disk block size was set to a size apart from default 4k block size

- These factors cause a minor Btrieve performance degradation.

The following are the combination of factors to improve performance.

- Rebuild the file size of Btrieve with a page size of 4096 bytes

- Upgrade IPX to v3.10

- Recreate all the volumes block size with 4k

18. Suppose when I perform a Get Next Extended operation, Btrieve returns a status 62. What does this mean?

- The 62 Status is an error in the descriptor / extractor.

- The first two bytes of the data buffer need to contain the exact length of the data buffer that are sent to Get Next Extend operation

- The Data Buffer length need not be the4 exact length

- If any other variable is defined, the data buffer would be overwritten

19. Tell me why does Btrieve return a status 22, if one perform a Stat operation, even though the maximum number of key spec buffers (24) are allocated?

The reasons for this are

- An alternate collating sequence might be used

- This require to allocate an additional 265 bytes in the data buffer

- Nine bytes are allocated for the name of the collating sequence and 256 bytes are allocated for actual sequence

20. Explain what does the "Total" column in the BUTIL -STAT indicate?

-"Total" column gives the number of UNIQUE values for every key

-The column is different from "Total Records" column

21. Tell me is it necessary to load Brequest if one wants to access the Btrieve NLM from the Windows environment?

-Yes. First the DOS requester is loaded

-Later windows is loaded

-While the windows application is running,

- The first window calls Btrieve to load and Btrieve Request Interface for windows.

22. How to run Btrieve on SFT III server?

The following engines are required to run Btrieve on SFT III server.

- Btrieve.nlm on MSEngine

- BSPXCOM.NLM on MSEngine

- AFTER311.NLM on IOEngine

- Btrieve is unaware of running SFT III Server

- The I/O and mirroring will be taken care by OS

23. Explain DDF Editor for Btrieve?

-DDF editor allows to create the description of files

-DDF is necessary to access Btrieve files through ODBC / OLE

- Allows to
-create / view / edit dictionary DDF
-import and export data from ODBC data source

-drag and drop / copy and paste the descriptions

-rebuild files

-search filtration data

24. Explain error codes of Btrieve?

-INVALID OPERATION – The parameter of the operations of a call is invalid

-I/O ERROR – An error occurred during a disk read / write operation.

-FILE NOT OPEN – Any operation on the designated file can not be performed as the file is not open

-KEY VALUE NOT FOUND - The designated key value is not found in the index path

-INVALID POSITIONING - Each time the current position need to be established. This position is application for update / deletion of a record.

25. Tell us what you know about Btrieve?

- Btrieve is a navigational database product

- Based on Indexed Sequential Access Method(ISAM)

- ISAM is a way of fast data retrieval

- Btrieve retrieves one record at a time.

- Transaction Operation is faster as there is little overhead with Btrieve Engine

Download Interview PDF

26. Explain with NetWare Btrieve v6.0, when I perform an Insert (2) operation, NetWare Btrieve inserts for a while, then it returns a status 84 (Record in Use). What should I do?

- The application should rerun if it receives a status code 84.

- Btrieve will lock the key page for some time

- At this moment another user may try using it.

27. Suppose When I am attached to a lot of NetWare v3.11 servers (24), each running the NetWare Btrieve NLM v5.15, I get a status 38 (Transaction Control File I/O) even though each Btrieve NLM is configured for transactions. What should I do?

- Verify the number of file servers, the /s parameter on Brequest whether it large enough

- If the number is higher, it may stop the status 38.

- Check the /s parameter (number of file servers) on Brequest to see if it is large enough. A higher setting may stop the status 38.

28. Define a C long integer as a key in Btrieve, when there is no long data type?

C long integer can be defined as a key in Btrieve by specifying the key as an integer. But the length need to be specified as four bytes.

29. What is Btrieve

Btrieve is a transactional database, navigational database software product. It is based on Indexed Sequential Access Method (ISAM), which is a way of storing data for fast retrieval. There have been several versions of the product for DOS, Linux, older versions of Microsoft Windows, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, 32-bit IBM OS/2 and for Novell NetWare.