AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TADO und OUTPUT TO ....

Ein Thema von alf013 · begonnen am 8. Dez 2006 · letzter Beitrag vom 9. Dez 2006
Antwort Antwort
alf013

Registriert seit: 8. Dez 2006
13 Beiträge
 
#1

TADO und OUTPUT TO ....

  Alt 8. Dez 2006, 14:32
Datenbank: SQL-Anywhere • Version: 8.0 • Zugriff über: TADO
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'!!!

Kann mir bitte jemand helfen??????


Vielen Dank vorab!!! ... und Grüsse
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: TADO und OUTPUT TO ....

  Alt 8. Dez 2006, 15:42
Solltest du vielleicht nicht den Strichpunkt vor "OUTPUT ..." weglassen?
SELECT (Liste Felder) FROM Tabelle WHERE whereclause OUTPUT TO pfad/dateiname FORMAT ASCII Es empfiehlt sich die SQL-Anweisung zuerst in einem (*)Tool des Datenbankherstellers zu testen und dann erst in die Delphi Anwendung zu übernehmen.
*) jeder Datenbankhersteller liefert doch ein Tool mit, mit dem man SQL-Anweisung zusammenbauen und abschicken kann.
Andreas
  Mit Zitat antworten Zitat
alf013

Registriert seit: 8. Dez 2006
13 Beiträge
 
#3

Re: TADO und OUTPUT TO ....

  Alt 8. Dez 2006, 15:48
Zitat von shmia:
Solltest du vielleicht nicht den Strichpunkt vor "OUTPUT ..." weglassen?
SELECT (Liste Felder) FROM Tabelle WHERE whereclause OUTPUT TO pfad/dateiname FORMAT ASCII Es empfiehlt sich die SQL-Anweisung zuerst in einem (*)Tool des Datenbankherstellers zu testen und dann erst in die Delphi Anwendung zu übernehmen.
*) jeder Datenbankhersteller liefert doch ein Tool mit, mit dem man SQL-Anweisung zusammenbauen und abschicken kann.

Sorry, das ist aber der korrekte Syntax!!!!

Grüsse
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: TADO und OUTPUT TO ....

  Alt 8. Dez 2006, 17:58
Zitat von alf013:
Sorry, das ist aber der korrekte Syntax!!!!
Mag sein, aber hast du das mit dem Tool getestet?
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.
Andreas
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: TADO und OUTPUT TO ....

  Alt 8. Dez 2006, 19:10
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
  Mit Zitat antworten Zitat
alf013

Registriert seit: 8. Dez 2006
13 Beiträge
 
#6

Re: TADO und OUTPUT TO ....

  Alt 9. Dez 2006, 14:23
Zitat von shmia:
Zitat von alf013:
Sorry, das ist aber der korrekte Syntax!!!!
Mag sein, aber hast du das mit dem Tool getestet?
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.
Danke für deinen gutgemeinten Ratschlag - aber syntaktisch ist alles korrekt.

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

Alf013
  Mit Zitat antworten Zitat
alf013

Registriert seit: 8. Dez 2006
13 Beiträge
 
#7

Re: TADO und OUTPUT TO ....

  Alt 9. Dez 2006, 14:26
Zitat von marabu:
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
Danke für den Tip, werd' ich mal ausprobieren

Gruss
Alf013
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:46 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