Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- RaSQL/B 6.1a for Clipper - <b>appendix d</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Appendix D
Trouble Shooting

Before contacting technical support, please look through the following list 
to determine if your problem is discussed here.

Linking

_VRQBRDD shows up as an undefined symbol in the link phase.
You are using the RDD but you have not included RQB52.LIB (or RQB50.LIB) in 
the link script.

N_XFMAP and N_XFSTRUCT show up as undefined symbols.
These functions are in SNIPPETS.PRG.  Compile and link SNIPPETS.PRG into 
your application.  Alternatively, copy them into your source code.

Runtime (RDD)

USE/DBUSEAREA() failed but N_XERROR() showed no error.
RaSQL may not have been able to determine the file structure.  Check to see 
that USE VIA command has a DEFINITION clause.  If you omit the DEFINITION 
clause, RASQL must be able to find the definition elsewhere, usually in the 
RQB file.

USE/DBUSEAREA() generated internal error 5xxx.
The RDD may not have been linked in properly.  Make sure at least one source 
code module contains one of the following.  Then recompile and relink.
      #include "RQB.CH"       -or-       EXTERN _VRQBRDD

USE/DBUSEAEA() could not find file but you know it is there.
Several possibilities (besides that you specified the wrong filename, 
extension or directory, of course!):  1. You are using the wrong RDD.  You 
may have omitted a VIA clause on the USE command, in which case you must 
make RQBRDD the default RDD with N_XVIA(), RDDSETDEFAULT(Clipper 5.2x) or 
DBSETDRIVER (Clipper 5.0x).  2. You omitted a directory name and due to an 
N_XPATH(), you are not in the directory you think.  3. The default file 
extension when opening a file with the RDD is ".DTA".  If the file extension 
is different (e.g., ".DAT") you must specify it explicitly or change the 
default extension with N_XDEFEXT().  Note that if a file has no extension, 
you must specify the name with a trailing '.', or RaSQL will add the default 
extension.  E.g.,
          USE ARCUST.    // attempts to open file ARCUST
          USE ARCUST     // attempts to open file ARCUST.DTA

COPY TO still creates a DBF even though you issued DBSETDRIVER("RQBRDD").
DBSETDRIVER() in Clipper 5.0x has a bug in it.  It works for opening files, 
but not for creating files.  Use N_XVIA() instead.  RDDSETDEFAULT() in 
Clipper 5.2x does work correctly.

RECNO() is strange when you BROWSE() or DBEDIT() a Btrieve file.
Btrieve record numbers have no correspondance to DBF record numbers.  They 
are internal Btrieve page markers.  See discussion of record numbers in the 
beginning of the RaSQL/B manual.

N_XFOUND(), N_XEOF(), N_XSKIP(), etc. don't seem to work.
If you have opened the file with the RDD (USE or DBUSEAREA), you cannot use 
record positioning functions or data functions.  Use the Clipper commands 
and functions as if you were using a DBF.

Runtime (Library)

N_XUSE() could not find file, but you know it is there.
One possibility (besides that you specified the wrong filename, extension or 
directory, of course!):  You omitted a directory name and due to an 
N_XPATH(), you are not in the directory you think.

You received Btrieve error 803 or Clipper error 43 (Workarea not in use) 
after opening a file with N_XUSE().
Check to see that you issued N_XLOGIN() as the first RaSQL/B function.

Runtime (RDD or Library)

You received Btrieve error 2 when attempting to open a file.
Three likely possibilities.  1. You are attempting to open a file created 
with Btrieve 6.x, but you are using Btrieve 5.x.  2. The file is not a 
Btrieve file.  3. The previous Btrieve session crashed before your program 
could issue N_XLOGOUT().  Try resetting or unloading/reloading the requestor 
or Btrieve.exe.  See USAGE NOTES in the README.TXT file.

You received Btrieve error 20 when issuing N_XLOGIN() or opening file.
You did not load the Btrieve run-time.  If on a network, load the requestor 
and ensure that BTRIEVE.NLM was loaded on the server.  If running stand-
alone, run Btrieve.exe.  If running under Windows, make sure you have 
Btrieve for Windows installed and that WBTRCALL.DLL is in the Windows 
directory, the current directory or along the DOS PATH.

Received Btrieve error 22 when attempting to open a file.
Most likely the file structure you have provided is too short for the 
Btrieve file.  The sum of the internal lengths for all the fields (excluding 
the variable length field, if any) must be equal to the actual record size.  
Immediately after error 22, the N_XRECSIZE() function will return the actual 
record length.  Alternatively, use BUTIL.EXE to display the record size.

You received Btrieve error 22 when attempting to read from a file with a 
variable length field.
The record contains a variable length field that is longer than the maximum 
specified in the structure definition when opening the file.  For example, 
you specified 
     "MEMO                M   500.00 ;" 
but the record contains 510 bytes of variable length data.

You received Btrieve error 24 when attempting to open a file.
The page size of the file is larger than the current Btrieve configuration 
permits.  Unload Btrieve.exe or the requestor and reload with a higher /P: 
parameter.

You recieved Btrieve error 25 when attempting to create a file.
This can occur whether you are explicitly creating a file with 
N_XAMAKETBL(), or implicitly with COPY TO.  Indicates that a Btrieve file 
with the same name already exists.  Erase the file or issue N_XSAFETY(.F.).

You received Btrieve error 46 or 51 when writing to or opening a file.
The file probably has a owner name specified.  Use N_XOWNER() to specify the 
correct owner name before opening the file.

You received Btrieve error 59 when attempting to create file or add index.
Indicates that you have too many index segments.  Btrieve 5.x allows up to 
24.  Btrieve 6.x allows up to 119, but the file must have been created with 
page size 4096.  Issue N_XPAGESIZE(4096) before creating a file to force 
RaSQL to use that page size.

You received Btrieve error 58 when attempting to open a file.
The file was created with Compression On (see Btrieve Operations Manual).  
Unload the requestor or Btrieve.exe and reload with a /U: parameter.

You issued N_XFILTER() but you are still seeing all the records.
You may be using an earlier version of Btrieve.  N_XFILTER() works only with 
Btrieve 6.x.  Alternatively, you may have specified an incorrect filter 
expression.

You updated a Packed Decimal field (type NP or N$) in RaSQL and it shows up 
with the wrong sign in another Btrieve application.
The other application may require a sign flag of 0Ch for positive numbers.  
See N_XPACK0C().

You are "shelling" to the RaSQL application from another Btrieve 
application.  When you return to the parent application all of its Btrieve 
files are closed.
You need to suppress RaSQL's automatic Btrieve reset operation.  See 
N_XNORESET().

Floating point fields are not making any sense.
You may have defined the field as NF (IEEE floating) when it is actually NB 
(Basic or Microsoft float).  Or you may have defined it with the incorrect 
length (8 bytes when it is actually 4 bytes).

Memo field data showing up strangely.
You may have opened a file defining a memo field as type M when it is 
actually type ML, or vice versa.  Alternatively, you may have assigned too 
short a maximum length when opening the file.

Seek (DBSEEK or N_XSEEK*) does not seem to work.
Make sure you opened the file with the correct structure, especially for the 
indexed fields.  For example,  your structure definition may show a indexed 
field as length-24, but the index was built as three length-8 fields 
concatenated together.

Protected Mode

You received a GP error when you issued N_XLOGIN() or attempted to open a 
file for the first time.
1. Make sure that you included RQBBLI.LIB if linking with Blinker or 
RQBEXO.LIB if linking with Exospace and that you reserved 10K of low memory.
Exospace:      EXOSPACE SET CLIPPER=LOWMEM:10
               SEARCH RQBEXO
Blinker:       BLINKER SET CLIPPER=X10
               SEARCH RQBBLI
2. If you are using Blinker, upgrade to Blinker version 3.1 or later.  It 
fixes various bugs in the earlier versions.

Windows

You received a GP error when you issued N_XLOGIN() or attempted to open a 
file for the first time.
Two possibilities: 1. Make sure that you included RQBC4W.LIB as a SEARCH 
library in your link script.  2. If you are using Blinker, upgrade to 
Blinker version 3.1 or later.  It fixes various bugs in the earlier 
versions.

You received "Btrieve Not Available" message when you issued N_XLOGIN()
or attempted to open a file for the first time.
Two possibilities: 1. The previous Btrieve session crashed before your 
program could issue N_XLOGOUT().  See USAGE NOTES in the README.TXT file.  
2. RaSQL/B could not find WBTRCALL.DLL nor could it find a version of DOS 
Btrieve loaded prior to Windows.  See "Linking, Windows" section in 
README.TXT.

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson