Real Time Btrieve Interview Questions and Answers PDF
• What Is Btrieve?
o Btrieve is a navigational database product
o Based on Indexed Sequential Access Method(ISAM)
o ISAM is a way of fast data retrieval
o Btrieve retrieves one record at a time.
o Transaction Operation is faster as there is little overhead with Btrieve Engine
• 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.
• 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:
o Run the BUTIL NLM version 6.x from the file server, which displays the version of file format after executing a STAT call.
o No client BUTIL program is available to display this status
o Another way is to check the version format of a Btrieve file by using DOS DEBUG utility
o Type debug-d at DOS prompt.
o The initial two bytes of the FCR will be set to FC when the file is stored in 6.x format.
o Otherwise the bytes will be set to 0x00.
• What Is Status 1015?
o Prior to starting the application, if the environment variable SET BTRPARMSCHK=Y is specified, the status 1015 is returned.
o Isolation of errors that are caused by passing invalid pointers to Btrieve is done by using this environment variable.
o Once this variable is set, Btrieve performs the validation on pointer parameters that are passed in to READ/WRITE access on certain ranges.
o 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
• Explain About File Sharing?
o Data available in a file can be shared by using Single Engine File Sharing and Multiple Engine File Sharing modes.
o SEFS is allowed only to the clients to access the engine for altering databases.
o MEFS allows multiple clients running under multiple engines for accessing the database.
• Explain Error Codes Of Btrieve?
o INVALID OPERATION – The parameter of the operations of a call is invalid
o I/O ERROR – An error occurred during a disk read / write operation.
o FILE NOT OPEN – Any operation on the designated file can not be performed as the file is not open
o KEY VALUE NOT FOUND - The designated key value is not found in the index path
o INVALID POSITIONING - Each time the current position need to be established. This position is application for update / deletion of a record.
• What Happens When You Use Netware Btrieve V5.x To Access An 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
• Tell Me How To Convert A Bunch Of .btr And .lck Files To A Readable Sql?
o Every Btrieve file and DDf has a owner of their creation.
o Owner name can be used to read only access.
o SET OWNER = command is used before utilizing SELECT statement.
o .lck files are lock files and can not read them directly.
o .btr files are DDF files.
o The conversion can be made by using ODBC DSN that points to data and utilizes SSIS or DTS to export the data from.
• Explain About System And User Transactions?
o System transactions are non-transactional operations
o System transactions are used for data recovery using MKDE.
o User transactions are concurrent transactions.
o User transaction might have lost when a recent transaction was rolled back
o When a user transaction is rolled back, an option might be set which causes the MKDE to force the system transactions.
• Explain Ddf Editor For Btrieve?
o DDF editor allows to create the description of files
o DDF is necessary to access Btrieve files through ODBC / OLE
o Allows to
o create / view / edit dictionary DDF
o import and export data from ODBC data source
o drag and drop / copy and paste the descriptions
o rebuild files
o search filtration data
• 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;
o The vendor of the product should be able to provide .DDF along with the software.
o Or use Xtrieve PLUS,XQL or NetWare SQL for creating the .DDF file.
• Can You Please Explain The Features Available In Btrieve Commander?
o Btrieve Commander is a file viewer.
o The primary view is named as Main View that lists the records one per line. A cursor vertical bar indicates the current record.
o Record View : It shows the records in the Main view and is limited
o Calculate Totals : This views allows to compute numeric fields of current record
o 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.
• Explain The Features Available In Btrieve Commander?
o Btrieve Commander is a file viewer.
o The primary view is named as Main View that lists the records one per line. A cursor vertical bar indicates the current record.
o Record View : It shows the records in the Main view and is limited
o Calculate Totals : This views allows to compute numeric fields of current record
o 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.
• How To Run Btrieve On Sft Iii Server?
The following engines are required to run Btrieve on SFT III server:
o Btrieve.nlm on MSEngine
o BSPXCOM.NLM on MSEngine
o AFTER311.NLM on IOEngine
o Btrieve is unaware of running SFT III Server
o The I/O and mirroring will be taken care by OS
• Will Brequest Works In An Os/2 V2.0 Dos Box?
o Brequest will not properly function in multiple private DOS boxes. The system will halt.
o Trap D occurs when Btrieve calls are made.
• Can You Explain System And User Transactions?
o System transactions are non-transactional operations
o System transactions are used for data recovery using MKDE.
o User transactions are concurrent transactions.
o User transaction might have lost when a recent transaction was rolled back
o When a user transaction is rolled back, an option might be set which causes the MKDE to force the system transactions.
• How Do I Run Btrieve On Sft Iii Server?
The following engines are required to run Btrieve on SFT III server.
o Btrieve.nlm on MSEngine
o BSPXCOM.NLM on MSEngine
o AFTER311.NLM on IOEngine
o Btrieve is unaware of running SFT III Server
o The I/O and mirroring will be taken care by OS
• Tell Me Is It Necessary To Load Brequest If One Wants To Access The Btrieve Nlm From The Windows Environment?
o Yes. First the DOS requester is loaded
o Later windows is loaded
o While the windows application is running,
o The first window calls Btrieve to load and Btrieve Request Interface for windows.
• Can Brebuild Rebuild Btrieve Files Created In The Btrieve V3.x Format, Or Is It Needed To Run Another Upgrade Utility First?
o Rebuilding Btrieve files is possible using BREBUILD, if they have not extended across a volume.
o CONVERT4 should be used after the files have been extended, for the purpose of translating Btrieve v3.x files to v4.x format
o Later we can run BREBUILD.
o Btireve v4.x and v5.x files can also be rebuild using BREBUILD.
• What Is File Sharing?
o Data available in a file can be shared by using Single Engine File Sharing and Multiple Engine File Sharing modes.
o SEFS is allowed only to the clients to access the engine for altering databases.
o MEFS allows multiple clients running under multiple engines for accessing the database.
• If An Application Runs Twenty-four Hours A Day, How To Perform A Backup?
o Once a file is opened by Btrieve, no other user / application can open it until Btrieve closes that file.
o The operating system's 'copy' command will not work
o One can back up the Btrieve file using BUTIL operations.
o BUTIL operations uses CLONE for creation of a backup file.
o Followed by CLONE, COPY command is used to backup the records from one file to backup file.
• Explain What Does The "total" Column In The Butil -stat Indicate?
o "Total" column gives the number of UNIQUE values for every key
o The column is different from "Total Records" column
• How Can I 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.
• Suppose When I Perform A Get Next Extended Operation, Btrieve Returns A Status 62. What Does This Mean?
o The 62 Status is an error in the descriptor / extractor.
o 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
o The Data Buffer length need not be the4 exact length
o If any other variable is defined, the data buffer would be overwritten
• What Happens When You Use Netware Btrieve V6.x To Access An 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.
• 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 Can't 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.
o If a new uses logs in and uses the same connection ID, the Monitor utilities will show all the files opened by new user.
o All these files have opened by Btrieve
o Back up can be taken when they are not in Continuous Operations Mode.
o As the necessary Btrieve Position blocks are not available, the user can not access these files.
o 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.
• 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:
o Use the latest version of NetWare Shell - IPX v3.10, NETX v3.22 or NETX v3.26
o Make sure that latest BREQUEST.EXE is running
o Verify the Btrieve data file's page size
o If the pages are not evenly divisible into 4k, NetWare mishandles the pages
o Use only the pages of sizes 512k, 1024k, 2048k, or 4096k.
o The situation would be resolved by using NetWare Patch ASNCROFX.NLM
• 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 :
o The page sizes of Btrieve are set to 1024 and 512 bytes
o All the workstations are configured with IPX v2.15
o The disk block size was set to a size apart from default 4k block size
o These factors cause a minor Btrieve performance degradation.
The following are the combination of factors to improve performance.
o Rebuild the file size of Btrieve with a page size of 4096 bytes
o Upgrade IPX to v3.10
o Recreate all the volumes block size with 4k
• Can A Supplemental Index Be Created Through Btrieve Or Netware Sql At The Time That The Btrieve File Is Created?
o No. Because Btrieve always bypasses the bit 7 of the key flags at the time of creation.
o The bit 7 is designated as an index supplemental
o The indexes are created as permanent.
• Does A User Need Create Rights In The Directory Where A Btrieve File Is Stored, In Order To Open That File In Accelerated Mode?
o Yes. the right creation is necessary.
o Btrieve may create a file called pre-image file, in accelerated mode.
o 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.
o Any pages that have been updated already for the insertion, would need to roll back.
• 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:
o An alternate collating sequence might be used.
o This require to allocate an additional 265 bytes in the data buffer.
o Nine bytes are allocated for the name of the collating sequence and 256 bytes are allocated for actual sequence.
• When I Perform A Get Next Extended Operation, Btrieve Returns A Status 62. What Does This Mean?
o The 62 Status is an error in the descriptor / extractor.
o 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
o The Data Buffer length need not be the4 exact length
o If any other variable is defined, the data buffer would be overwritten
• What Is A Status 1015?
o Prior to starting the application, if the environment variable SET BTRPARMSCHK=Y is specified, the status 1015 is returned.
o Isolation of errors that are caused by passing invalid pointers to Btrieve is done by using this environment variable.
o Once this variable is set, Btrieve performs the validation on pointer parameters that are passed in to READ/WRITE access on certain ranges.
o 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
• How Can I Direct Output To A Text File From An Nlm (such As Butil.nlm) Running At The Server Console?
To direct output to a text file from an NLM, enter the command:
LOAD BUTIL -STAT BTRFILE (CLIB_OPT)/>sys:output.txt
This command is case-sensitive with no spaces.
• Why Doesn't Brebuild Rebuild Netware Btrieve V6.x Files?
You should use BREBUILD in cases where you are converting data files from v5.x format to a v6.x format. Once the files are in v6.x format, they are considered to be "rebuilt." If the file shows signs of data corruption, reload the data into a new file. Steps for reloading data are described in the NetWare Btrieve 6.10c README file.
• Netware Btrieve Returns A Status 94 (permission Error) When I Try To Access The Record Manager On A Netware Runtime Server. Brequest Is Loaded With /c:1, Supervisor,supervisor_pw. What Should I Do?
When accessing Btrieve on a Netware Runtime Server, the user must have a username other than SUPERVISOR. The SUPERVISOR username and password cannot be used on this server to access NetWare Btrieve.
Load BREQUEST with /C:1,USERNAME,PASSWORD
• Netware Btrieve Returns A Status 12 (file Not Found) On An Open Call When Using Netx Under Netware V4.x. What Should I Do?
NETX is causing the wrong path to be passed to BREQUEST. Use VLMs instead of NETX under the NetWare v4.x operating system.
• How Much Real Memory Is Allocated By Wbtrcall.dll V6.10x To Communicate With The Btrieve Dos Requester, Brequest.exe?
WBTRCALL.DLL is a DOS Protected Mode Interface (DPMI) and allocates real mode memory according to the following formula:
DOSPARMBLK + maxDataLen + POSBLK_SIZE + KEYBUF_SIZE + 2 bytes
where: DOSPARMBLK is 28 bytes maxDataLen is defined by /d switch specified on the BREQUEST.EXE command line POSBLK_SIZE is 128 bytes KEYBUF_SIZE is 255
• Once I Have Used The Netware Btrieve Nlm V6.10x Can I Switch Back To Btrieve For Dos, Btrieve For Os/2, Or Btrieve For Windows?
If your system requires that the files be available for both NLM and client use, there are several steps to take to insure the proper use of the file:
Do not convert the 5.x files to the 6.x format. The versions of Btrieve for DOS, MS Windows, and OS/2 do not support the v6.x file format.
Read the section of the Btrieve v6.10 README file that gives instructions on preimage files. Btrieve v5.x and v6.x pre-image files are incompatible and you need to take steps to prevent the different versions of the engines from using different version of the pre-image file.
When using BSETUP, be sure to select the option that creates files in the 5.x format. If this option is not used all files that are created will be in the new 6.x format and the clients will return status 2s when trying to access them.
If BTRIEVE.NLM v6.1x is configured with the -d option to force Btrieve to create files in v5.x format, what would happen if v6.1x file flags like: Index Balanced File Duplicate Pointers Key Number Specified VATs used in File are set at creation time?
These bits are ignored if you load NetWare Btrieve v6.1x with -d. No errors will be returned. For more information about these new file creation options, see the Btrieve Programmer's Manual included with the Btrieve Developer's Kit Supplement.
• What Does The Error "bspxcom -bad Connection Id On Send" Mean?
Btrieve has sent a message to a workstation that has been timed out by the NetWare watchdog.
To prevent the message, increase the SPX WATCHDOG ABORT TIMEOUT, SPX ACK WAIT TIMEOUT, and SPX WATCHDOG VERIFY TIMEOUT parameters on the server where BSPXCOM.NLM is loaded. Also increase the SPX ABORT TIMEOUT, SPX LISTEN TIMEOUT, and SPX VERIFY TIMEOUT parameters in the NET.CFG file on the workstation.
• When Moving From The Netware Btrieve Nlm V5.x To The Netware Btrieve Nlm V6.x, Do I Have To Convert The 5.x Files To A 6.x Format?
The NetWare Btrieve NLM v6.10x has built in support for v5.x files. System administrators can choose whether or not to convert the Btrieve data files in order to upgrade the NLM to 6.10x. As always, read the README that comes with Btrieve for up to date directions on moving from one version to the next.
• When The Primary Server With Netware Sft Iii Goes Down And Resynchronization Is Taking Place, Netware Btrieve Returns A Status 95 (session Not Valid). And Netware Sql Returns Status 2103 (nw$sql Is Not Active On The Requested Server). What Should I Do?
Raise the IPX retry count in your NET.CFG. The recommended value is 40 or more. The workstations are timing out and their SPX connections are being terminated.
• When Running Brequest In An Os/2 Dos Box, I Receive A Status 12 When I Try To Open A File That I Know Exists. Why Can't I Open The File?
This status code can be returned when running BREQUEST with v2.00 of the NetWare OS/2 Requester. Make sure to update your requester to v2.01.
• After Installing Netware Btrieve (nlm) V6.10, Existing Applications Trying To Access Btrieve.nlm Receive The Message "public Symbol Not Found." What Should I Do?
This message results from improper installation of the Btrieve NLM. To install the NLM properly, obtain BTR61.EXE and perform the following ten steps:
o Create a temporary sub-directory (for example, TEMPDIR).
o Copy BTR61.EXE to TEMPDIR and type BTR61.EXE -d. (This step creates two subdirectories, SYSTEM and PUBLIC and copies appropriate files into each.)
o Back up all files on the server where Btrieve will be installed.
o Copy the files from TEMPDIRSYSTEM into SYSTEM on the server.
o Copy all the files from TEMPDIR PUBLIC to PUBLIC on the server.
o At the server console prompt, type "BSTOP" to unload the existing versions of BTRIEVE.NLM and BSPXCOM.NLM.
o At the server console prompt, type "UNLOAD CLIB".
o At the server console prompt, type "LOAD CLIB" to load the latest version of CLIB.
o At the server console prompt, type "AFTER311".
o At theserver console prompt, type "BSTART" to load BTRIEVE and BSPXCOM with default values.
• I Am Using Netware Btrieve V6.0, But Sometimes I Need To Be Able To Switch Back To A Netware Btrieve 5.x System. How Can I Do This?
If your files are still in NetWare Btrieve v5.x format, you can load Btrieve v6.x with the -d parameter, forcing new files to be generated in 5.x format. Otherwise, the only way to switch back to Btrieve v5.x is to save the contents of your v6.x format file, then generate a v5.x clone and load the data into the v5.x file.
• Are There Any Third-party Odbc Drivers For Btrieve For Windows?
Q+E Software (formally Pioneer Software) has a product called ODBC Pack 1.0. This product currently includes 11 drivers for various database engines, including Btrieve. Q+E technical support said that the Btrieve file must be in NetWare SQL format. In other words, it requires .DDF files. The product also includes a utility to build the .DDF files if you do not have them.
• When Attempting To Import A Btrieve File Into A Microsoft Access Database, Microsoft Access Returns The Message "disk Or Network Error" When It Attempts To Read File.ddf. Why?
This error is similar to a Btrieve status 2 (I/O Error). Btrieve v5.x returns status 2 when you attempt to use it to access Btrieve files stored in v6.x format. Microsoft Access returns "Disk or Network Error" under the same circumstances. When using Microsoft Access to IMPORT Btrieve files, either run BTRIEVE.NLM v6.x with Brequest v6.x and WBTRCALL.DLL, or make sure all files accessed with the client WBTRCALL.DLL are stored in v5.x format.
• After Selecting A Named Database To Backup, The Following Error Messages Were Returned: Error: File Not Found For Database Error: Btrieve Status 0 Reading File.ddf Dictionary File For Database Error: Status 88 Received On Btrieve End Continuous Operations. Why Did This Occur And What Should I Do?
The NetWare SBACKUP utility uses both NetWare SQL v3.00 and NetWare Btrieve v6.00. Basically, a status 88 will occur if there is anything wrong with the Btrieve files. In this case, a file that was associated with the Named Database was not in the directory that the utility was trying to backup.
This status will also be returned if the files selected for backup were already in Continuous Operations. The SBACKUP utility will itself do a Continuous Operations on all the files associated with the Named Database. Thus, the utility will not be able to perform the backup.
The simple solution is to ensure that all files are in the proper location specified in the Named Database. The other solution is to ensure that the files are not in Continuous Operations when using the SBACKUP utility.
• The Btrieve Installation And Operation Manual For Netware Btrieve (nlm) V6.0 States That More Than One Butil Command May Be Placed In A Command File. For Example, According To The Manual, I Should Be Able To Place A -clone And -copy In The Same Command File. However, If I Place More Than One Command In A Command File, Netware Btrieve Returns An Error Message Stating That The Format For The Command File Is Unrecognisable. What Should I Do?
The information in the manual is incorrect. you may only place one BUTIL command in the command file.
• Does Netware Btrieve V6.10 Still Use /p: Parameter?
In NetWare Btrieve v6.10, the Maximum Page Size parameter (/P:) is no longer required. NetWare Btrieve can now open any Btrieve file with any page size. NetWare Btrieve v6.10 will not return status 24 from the Open operation and will ignore any value given for the /P: startup parameter.
Using NetWare Btrieve (NLM) v5.15 and Brequest v6.00b, the following syntax generates a status 12 (File Not Found) on a Btrieve Open operation: servervoldirsubdirfile
To avoid this status code, either:
Use the patched version of Brequest v5.16.
Add a colon (:) after the volume name when using Brequest v6.00b. For Brequest 6.00b the syntax would be:
servervol:dirsub-dirfile
No comments:
Post a Comment