![]() |
Datenbank: SQL-Anywhere • Version: 8.0 • Zugriff über: TADO
TADO und OUTPUT TO ....
Hallo Leute!
Habe folgendes Problem: Nutze TADO für Zugriff auf SQL Anywhere-DB und will von dort Daten exportieren... und zwar so SELECT (Liste Felder) FROM Tabelle WHERE whereclause; OUTPUT TO pfad/dateiname FORMAT ASCII Dazu verwende ich AdoConnection.Execute, nicht TADOCommand, weil der ja nur jeweils einen Befehl absetzen kann. Variante 1: myStatement = 'SELECT (Liste Felder) FROM Tabelle WHERE whereclause; OUTPUT TO pfad/dateiname FORMAT ASCII'; Connection.Execute( myStatement, cmdText ); Liefert OLEFehler bei 'OUTPUT'!!! Variante 2: myStatement1 = 'SELECT (Liste Felder) FROM Tabelle WHERE whereclause'; myStatement2 = 'OUTPUT TO pfad/dateiname FORMAT ASCII'; Connection.Execute( myStatement1, cmdText ); Connection.Execute( myStatement2, cmdText ); Liefert auch OLEFehler bei 'OUTPUT'!!! :wall: Kann mir bitte jemand helfen?????? Vielen Dank vorab!!! ... und Grüsse :dancer: |
Re: TADO und OUTPUT TO ....
Solltest du vielleicht nicht den Strichpunkt vor "OUTPUT ..." weglassen?
SQL-Code:
Es empfiehlt sich die SQL-Anweisung zuerst in einem (*)Tool des Datenbankherstellers zu testen und dann erst in die Delphi Anwendung zu übernehmen.
SELECT (Liste Felder) FROM Tabelle WHERE whereclause OUTPUT TO pfad/dateiname FORMAT ASCII
*) jeder Datenbankhersteller liefert doch ein Tool mit, mit dem man SQL-Anweisung zusammenbauen und abschicken kann. |
Re: TADO und OUTPUT TO ....
Zitat:
Sorry, das ist aber der korrekte Syntax!!!! Grüsse :dancer: |
Re: TADO und OUTPUT TO ....
Zitat:
Wenn ja, hast du den konkreten SQL-String dann in den Sourcecode kopiert und dann dort nochmals getestet. (ich meine damit kopieren über die Zwischenablage; nicht abschreiben! *) Du kannst den SQL-String auch ruhig hier nochmals senden, dein SELECT-string in deinem 1. Posting war ja quasi nur die Vorlage. *) die Erfahrung lehrt: selbst der beste Programmierer hat manchmal Tomaten auf den Augen. Dann hift nur, sich selbst zu misstrauen und zurück an den Anfang. Man muss sich selbst beweisen, dass ein Anweisung/Funktion/Objekt/... richtig ist. |
Re: TADO und OUTPUT TO ....
Hallo,
es mag noch andere Ansätze geben, aber auf die Schnelle würde ich die beiden Statements (SELECT und OUTPUT) in eine PROCEDURE (kann das ADS?) packen und diese ausführen lassen. Grüße vom marabu |
Re: TADO und OUTPUT TO ....
Zitat:
Ich vermute, dass das Problem hier in folgendem besteht: In einer Interactiv-SQL-Sitzung ( das Tools zu SQL-Anywhere ) muss der Aufruf hintereinander erfolgen: 1. Select-Statement 2. Output-Statement Das Select liefert die Datenmenge, die dann mit Output exportiert wird. Unter ADO geht wahrscheinlich beim Aufruf von "aussen" die Datenmenge flöten, so dass dann das Output nicht mehr interpretiert werden kann. Kann es sein, dass jeder einzelne Execute-Aufruf eine eigene interne Session öffnet und nach Ausführung wieder schliesst? Das würde den Effekt erklären. Grüssse :dancer: Alf013 |
Re: TADO und OUTPUT TO ....
Zitat:
Gruss Alf013 :dancer: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz