Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Aggregatfunktion über ODBC mit SAGE CL (https://www.delphipraxis.net/171520-aggregatfunktion-ueber-odbc-mit-sage-cl.html)

MrSpock 10. Nov 2012 14:43

Datenbank: SAGE CL • Version: 2013 • Zugriff über: ADO

Aggregatfunktion über ODBC mit SAGE CL
 
Hallo,

möchte über ODBC Treiber auf die SAGE CL 2013 zugreifen. Mit TADOTable ist das auch kein Problem.

Habe jetzt folgende Abfrage definiert:

Zitat:

SELECT Artikel, Hersteller, COUNT(Reihenfolgennr) as Anzahl FROM
Artikeldokumente
GROUP BY Artikel, Hersteller
und in den CommandText einer TADODataSet Komponente geschrieben. Wenn ich diese nun öffnen will, bekomme ich die Meldung, dass COUNT lexikalisch nicht in Ordnung ist. Grundsätzlich kenn die SAGE CL ja die Aggregatfunktionen in SQL Abfragen. Wie bekomme ich in meiner Konfiguration eine Antwortdatenmenge?

borncrush 10. Nov 2012 15:20

AW: Aggregatfunktion über ODBC mit SAGE CL
 
Versuche mal bitte bei COUNT keine Spalte anzugeben; stattdessen *

Zumindest sollte er es dann parsen, aber aber eine Menge kommt, bleibt fraglich.
Kannst ja ne Rückinfo geben, bei Misserfolg schaue mir es mal genauer an.
Gruß

haentschman 10. Nov 2012 15:24

AW: Aggregatfunktion über ODBC mit SAGE CL
 
Zwischenfrage: Was ist "Sage CL" ?

Googlen sagt "Classic Line"... ist das korrekt ? Die Sage DB sollte imho ein gebrandmarktes MySQL 5 sein.

borncrush 10. Nov 2012 16:30

AW: Aggregatfunktion über ODBC mit SAGE CL
 
Es gibt momentan zwei Versionen, die wegen Wartungsverträgen, gepflegt werden.

Es gibt die Sage Classic Line 2013 (aktuell 4.4.x) und es gibt
die Sage New Classic 2013 (5.2.x).

Die 4er-Versionen verwenden eine ISAM-Datenbank aus Eigenentwicklung.

Die 5er-Versionen verwenden MySQL. Der Hersteller empfiehlt aber offiziell kein direktes auslesen, da der Sage ODBC-Treiber teilweise andere Merkmale beachten (aber im Grunde genommen, kann man problemlos die MySQL-Daten auslesen).

MrSpock 11. Nov 2012 11:50

AW: Aggregatfunktion über ODBC mit SAGE CL
 
Zitat:

Zitat von borncrush (Beitrag 1190613)
Versuche mal bitte bei COUNT keine Spalte anzugeben; stattdessen *

Zumindest sollte er es dann parsen, aber aber eine Menge kommt, bleibt fraglich.
Kannst ja ne Rückinfo geben, bei Misserfolg schaue mir es mal genauer an.
Gruß

Danke, so hat es funktioniert!

Code:
SELECT Artikel, Hersteller, COUNT (*) as Anzahl FROM
Artikeldokumente
GROUP BY Artikel, Hersteller
HAVING Count(*) > 1
Zitat:

Zitat von haentschman (Beitrag 1190615)
Zwischenfrage: Was ist "Sage CL" ?

Googlen sagt "Classic Line"... ist das korrekt ? Die Sage DB sollte imho ein gebrandmarktes MySQL 5 sein.

Ja, SAGE Classic Line in der Version 4.4 war gemeint. Nicht die NEW Classic Line. Obwohl man in beiden Fällen unbedingt über ODBC und in der New Classic Line nicht direkt über MySQL Komponenten zugreifen sollte. Die Datenkonsistenz kann sonst ganz schnell nicht mehr gegeben sein. ODBC Zugriffe kümmern sich um viele Details, die man eben nicht selbst verwalten muss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz