BDE程式出錯提示“capability not supported”,怎么處理?
2012-05-02 14:57:36| 分類: Delphi | 標簽:delphi bde errors |舉報|字號 訂閱
Delphi 7寫的BDE程式,不規律地在不同的電腦出現 capability not supported 的錯誤,經過Google一番,發現Borland人早就發現了這個bug,但是國內還是有很多遇到卻不能解決的人,特地轉載一下:
Handling the "Capability not supported" error
By: Borland Staff
Abstract: An application written using the BDE, Delphi, or C++ Builder may return an error "Capability not supported."
Abstract: An application written using the BDE, Delphi, or C++ Builder may return an error "Capability not supported."
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.
實際上,除了Borland這個原因以外,很多是因為:BDE中 MSSQL型別的 Enabled BCD選項沒有改為 TRUE造成的。當上面不能的解決你的問題,不妨把BDE中 MSSQL型別的 Enabled BCD選項改為 TRUE試試。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/114615.html
標籤:網絡通信/分布式開發
