1. 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.

2. 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.

3. 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.

4. 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.

5. 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

6. 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.

7. 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

8. 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

9. 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.

10. 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

Download Interview PDF

11. 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

12. 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

13. 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

14. 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.

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. 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

17. 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.

18. 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.

19. 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.

20. 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.

21. 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.

22. 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

23. 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.

24. 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.

Download Interview PDF

25. 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.