Главная страница | назад





Article #25183: Handling the "Capability not supported" error

Problem:
An application written using the BDE, Delphi, or C++ Builder may return an error "Capability not supported."
Solution:
This error is returned by the BDE when the BDE parses an SQL
string to be sent to a server and the syntax of the string is not
supported by the BDE.
See below for more information on how the BDE sends pass
through SQL strings to DBMS servers and ODBC data sources.
The BDE, and Delphi and C++ Builder applications that use
data-aware components send SQL strings to DBMS servers
and ODBC data sources depending on the setting of the
SQLQRYMODE parameters.
The settings of the SQLQRYMODE parameter are listed
in the BDE Administrator Help (formerly known as the BDE
Configuration Help) file, and are paraphrased below:
 — The SQL string is sent to the server or ODBC data source
first. If an error is returned the string is then parsed
and ran by the BDE.
SERVER  — The SQL string is sent to the server or ODBC data source, if
an error is returned then the error is placed on the BDE
error stack and the appropriate BDE error is returned.
LOCAL  — The SQL string is parsed and ran by the BDE.
When the BDE parses and runs the SQL string due to the
SQLQRYMODE being set to blank or LOCAL, if the SQL
string to be parsed is not supported by the BDE the
error "Capability not supported" is returned.
The SQLQRYMODE parameter is found in both BDE alias
definitions and in BDE driver definitions. The BDE will look for
this parameter first in the alias definition, if it is not found or the
entry not a recognized value or is corrupted then the BDE will
look at this parameter in the driver definition. Alias definitions
can be created by using TDatabase component, by using the
DbiOpenDatabase() and DbiAddAlias() BDE API calls, and by using
the BDE Administrator (formerly the BDE Configuration) utility.

Last Modified: 29-SEP-00