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