Possible Reasons for Couldn't Find Installable ISAM Error
ID: Q107672
|
3.00
WINDOWS
kbinterop kbprg
The information in this article applies to:
-
Microsoft Visual Basic programming system for Windows, version 3.0
SUMMARY
There are a number of reasons that can cause the "Couldn't Find
Installable ISAM" error message. Below is a list of the possible
reasons for the error.
MORE INFORMATION
The Data Access Guide in "Professional Features Book 2" has information
in the sections: 'General Tips for Using External Tables' and
'Initialization File Details' that can be used as an additional reference.
These sections begin on pages 134 and 148.
The path for the installable ISAM driver should be listed in the
file VB.INI in the \WINDOWS directory. Here is an example showing
what the Installable ISAM section in VB.INI should look like:
[Installable ISAMs]
Btrieve=C:\WINDOWS\SYSTEM\btrv110.dll
FoxPro 2.0=C:\WINDOWS\SYSTEM\xbs110.dll
FoxPro 2.5=C:\WINDOWS\SYSTEM\xbs110.dll
dBASE III=C:\WINDOWS\SYSTEM\xbs110.dll
dBASE IV=C:\WINDOWS\SYSTEM\xbs110.dll
Paradox 3.X=C:\WINDOWS\SYSTEM\pdx110.dll
List of Possible Reasons for Error (Couldn't find Installable ISAM)
- An entry in the [Installable ISAM] section in VB.INI or
<APPNAME>.INI is incorrect. For example, this error occurs if
you're accessing a Paradox external table, and the Paradox entry
of the APP.INI file points to a nonexistent directory.
To correct this problem, exit Visual Basic. Then make necessary
corrections in VB.INI or <APPNAME>.INI by using Microsoft Windows
Notepad or another text editor. Then restart Visual Basic, and
try the operation again.
- One of the entries in the [Installable ISAM] section in VB.INI
points to a network drive, and that drive isn't connected. Check
to make sure the network is available and the correct drive letter
is established. Then try the operation again.
- The APP.INI file isn't in the Windows directory.
- The APP.INI file doesn't have the same name as the .EXE file.
- The path to the IISAM specified in the .INI file is incorrect.
- There are extraneous spaces in the APP.INI file.
- The APP.INI file doesn't contain the same IISAM syntax as in the
VB.INI for each database that uses the drivers.
- The connect string should be 'Paradox 3.X;' NOT 'Paradox;' this is
a documentation error in the manual.
- Another possibility is that if you installed Microsoft Access after
installing Visual Basic, an older driver may have replaced a newer
Visual Basic driver. Check to ensure that the following files are
all dated 4-28-93 (the Visual Basic version 3.0 file date stamp):
MSAES110.DLL
MSAJT110.DLL
VBDB300.DLL
- The error can also occur when the Connect property of Tabledef
is not filled with the exact characters needed.
The Connect property is analogous to the connect portion of
the OpenDatabase method, so the parser looks for semicolons after
every entry -- other than the null entry in the case of a native
Microsoft Access database. In the case of an attached table,
Visual Basic syntax requires an entry in the Connect property.
There needs to be a leading semicolon before any optional
parameters in the Connect property, if the source database of the
attached table is Microsoft Access. If it is omitted, the error
occurs.
In other words, the leading semicolon is needed when attaching
a native Microsoft Access table. If it is omitted, the first
parameter placed in the Connect property is seen as the database
type. The error occurs because the parser tries to find an entry
in the .INI file that corresponds to the first entry in the
Connect property, but it doesn't exist. In the first example,
the parser looks for a match for "database=" and fails to find it.
- Providing an extra space between dBASE and IV, as in dBASE IV,
prevents the Microsoft Access engine from finding the entry
in the .INI file, so the error occurs.
- Another possible reason for this error message is that the ISAM driver
can't be loaded because the file is corrupt or not decompressed. You
can verify this by attempting to force the DLL to load using the
WPS.EXE program (available in the Professional Edition only), which you
will find in the CDK subdirectory. If WPS can't load the DLL, you
should reinstall and expand the DLL by using Setup /Z.
- If you create a program that uses the ISAM drivers, your APPNAME.INI
file should contain the entire [Installable ISAMs] section. If you
don't do this the follow scenario could occur: A customer may have a
program that uses the paradox driver and it works fine with the
following APPNAME.INI:
[Installable ISAMs]
Paradox 3.X=C:\WINDOWS\SYSTEM\pdx110.dll
Then a second program that uses a Btrieve driver works fine with the
following APPNAME.INI:
[Installable ISAMs]
Btrieve=C:\WINDOWS\SYSTEM\btrv110.dll
But if you run the two programs together, the second will have the
error "Can't Find Installable ISAM."
NOTE: the order of execution doesn't play a factor.
To prevent this problem, include the entire [Installable ISAMs] section
in your APPNAME.INI files. For example, it might be similar to this:
[Installable ISAMs]
Btrieve=C:\WINDOWS\SYSTEM\btrv110.dll
FoxPro 2.0=C:\WINDOWS\SYSTEM\xbs110.dll
FoxPro 2.5=C:\WINDOWS\SYSTEM\xbs110.dll
dBASE III=C:\WINDOWS\SYSTEM\xbs110.dll
dBASE IV=C:\WINDOWS\SYSTEM\xbs110.dll
Paradox 3.X=C:\WINDOWS\SYSTEM\pdx110.dll
- If you have upgraded to the Compatibility Layer and are trying to use
Paradox 4.x files, you could receive this error if you don't have
"CollatingSequence=Ascii" in the [Paradox ISAM] section, similar to
what is listed below:
[Paradox ISAM]
ParadoxUserName=Tim
ParadoxNetPath=C:\ACC2
ParadoxNetStyle=3.x
CollatingSequence=Ascii
- Another application may have overwritten VBDB300.DLL with a different
version. Check the date on the file, which will be 4/28/93 for Access 1.1
or 4/13/94 for the Access 2.0 Compatibility layer. If VBDB300.DLL is not
compatible, the quick fix is to replace VBDB300.DLL with the old version.
The long term solution is to install the compatibility layer, only
distributing applications after purchasing Access 2.0.
- This error has been received as a result of copying version 2.5 of
XBS200.DLL without MSAJT200.DLL version 2.5. Copying the new version of
Jet resolved the problem.
- This error was received as a result of having the compatibility layer
installed, then re-installing VB, then re-installing the compatibility
layer. As a result, another copy of PDX200.DLL was copied to the VB
directory, while VB.INI was pointing to Windows\System directory.
Additional query words:
3.00
Keywords : kbDatabase kbIISAM
Version : 3.00
Platform : WINDOWS
Issue type :
|