Einzelnen Beitrag anzeigen

Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#17

AW: Datenexport von Firebird nach Access über ZEOS

  Alt 13. Feb 2011, 19:38
Sowas wie für die BDE soll es laut Dr. Bob auch für ADO geben, dann
kann man tatsächlich Abfragen in eine SQL legen. Nur die Beispiele fehlen.

Zitat:
Note: The Borland Database Engine (BDE) has been deprecated, so it will not be enhanced. For instance, BDE will never have Unicode support. You should not undertake new development with BDE. Consider migrating your existing database applications from BDE to dbExpress.
TQuery supports heterogeneous queries against more than one server or table type (for example, data from an Oracle table and a Paradox table. When you execute a heterogeneous query, the BDE parses and processes the query using Local SQL. Because the BDE uses Local SQL, extended, server-specific SQL syntax is not supported.

To perform a heterogeneous query

1.Define separate BDE aliases for each database accessed in the query using the BDE Administration tool or the SQL explorer.
2.Leave the DatabaseName property of the TQuery blank; the names of the databases used will be specified in the SQL statement.
3.In the SQL property, specify the SQL statement to execute. Precede each table name in the statement with the BDE alias for the table's database, enclosed in colons. This whole reference is then enclosed in quotation marks.
4.Set any parameters for the query in the Params property.
5.Call Prepare to prepare the query for execution prior to executing it for the first time.
6.Call Open or ExecSQL depending on the type of query you are executing.
For example, suppose you define an alias called Oracle1 for an Oracle database that has a CUSTOMER table, and Sybase1 for a Sybase database that has an ORDERS table. A simple query against these two tables would be:

SELECT Customer.CustNo, Orders.OrderNo
FROM ":Oracle1:CUSTOMER"
JOIN ":Sybase1:ORDERS"
ON (Customer.CustNo = Orders.CustNo)
WHERE (Customer.CustNo = 1503)
As an alternative to using a BDE alias to specify the database in a heterogeneous query, you can use a TDatabase component. Configure the TDatabase as normal to point to the database, set the TDatabase.DatabaseName to an arbitrary but unique value, and then use that value in the SQL statement instead of a BDE alias name.
Grüße in die Runde
Martin Schaefer
  Mit Zitat antworten Zitat