AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Advantage , ODBC und SQL

Advantage , ODBC und SQL

Ein Thema von Cici · begonnen am 15. Mai 2012 · letzter Beitrag vom 16. Mai 2012
Antwort Antwort
Cici

Registriert seit: 19. Apr 2005
12 Beiträge
 
#1

Advantage , ODBC und SQL

  Alt 15. Mai 2012, 19:06
Datenbank: ADS • Version: 10.1 • Zugriff über: ODBC / ADO
Hallo Gemeinde,
ich stehe auf dem Schlauch.
Ich greife auf eine ADS DB mit AdoQuery via ODBC zu.

Das funktioniert soweit.
Zum Problem:
1.
SQL:='Select * FROM "C:\PATH\TABNAME.ADT";';
Query.Open;

Funktioniert !

2.
SQL:='Select * FROM "C:\PATH\TABNAME1.ADT"; Select * FROM "C:\PATH\TABNAME2.ADT";';
Query.Open;

Funktioniert nicht !!!
commandtext gibt keine ergebnismenge zurück

ExecSQL macht keinen Sinn, da ja ein Ergebnis erwartet wird.

Wer kann mir helfen?
hexAsmPAsDPR???
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
16.940 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Advantage , ODBC und SQL

  Alt 15. Mai 2012, 19:29
Kann den TADOQuery mit mehreren Resultsets zurecht kommen?
Ich denke hier musst du direkt auf die Basis-ADO-Interfaces zurückgreifen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Cici

Registriert seit: 19. Apr 2005
12 Beiträge
 
#3

AW: Advantage , ODBC und SQL

  Alt 16. Mai 2012, 07:24
Danke für Deine Antwort,
normalerweise sollte es nur ein resultset geben.

Das SQL:
Select * INTO #Temp1
From "C:\ATB\Databases\192\sys\User.ADT";

Select * From #Temp1;

funtzt auch nicht.

Temp Tabellen zu nutzen, sollte doch wohl mit ADO möglich sein. Oder liegt das Problem in der ODBC?
"ADS" unterstützt SQL scripting im SQL jedenfalls.
hexAsmPAsDPR???
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
16.940 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Advantage , ODBC und SQL

  Alt 16. Mai 2012, 08:02
Wieso nimmst du bei ADS nicht die nativen Komponenten?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Cici

Registriert seit: 19. Apr 2005
12 Beiträge
 
#5

AW: Advantage , ODBC und SQL

  Alt 16. Mai 2012, 08:15
Klar,
mache ich schon.
Mit der ADSQuery geht das wunderbar.

Ich versuche nur für einen Kunden eine ODBC Schnittstelle zu schaffen, und möchte die Möglichkeiten austesten, in wie weit
die Kombination ODBC/ADO nutzbar ist. SQL-Performance,...usw.

Im Ersten Schritt wäre wichtig, ob das Problem iM ADO oder der ODBC steckt.
hexAsmPAsDPR???
  Mit Zitat antworten Zitat
Patito

Registriert seit: 8. Sep 2006
108 Beiträge
 
#6

AW: Advantage , ODBC und SQL

  Alt 16. Mai 2012, 08:38

Im Ersten Schritt wäre wichtig, ob das Problem iM ADO oder der ODBC steckt.
Das Problem steckt sicher in deinem SQL. Eine Query-Komponente stellt normalerweise genau eine Ergebnismenge dar.
Wenn Du die Ergebnismenge von 2 Selects gleichzeitig haben willst brauchst Du entweder 2 Query-Komponenten, oder Du schreibst den Select als eine Union (-> eine Ergebnismenge).
  Mit Zitat antworten Zitat
Cici

Registriert seit: 19. Apr 2005
12 Beiträge
 
#7

AW: Advantage , ODBC und SQL

  Alt 16. Mai 2012, 09:39
Danke für Deine Hilfe Patito,
nun habe ich folgendes Script probiert:

// 1. Ergbnissmenge erzeugen
Select * INTO #Temp1
From "C:\Databases\sys\User.ADT";
// 2. Ergbnissmenge erzeugen
Select * From #Temp1;
// 1. Ergbnissmenge wieder löschen
DROP TABLE #Temp1;

Sollte also nur eine Menge verbleiben.

Auch:
TRY
DROP TABLE #Temp1;
CATCH ADS_SCRIPT_EXCEPTION
END TRY;
Select * INTO #Temp1
From "C:\Databases\sys\User.ADT";

geht nicht.
Ohne den TRY ...- Block geht es.


Immer die selbe Meldung:
Commandtext gibt keine Ergebnissmenge zurück

Ich vermute langsam das verkettete SQL Anweisungen entweder von der ODBC oder von ADO nicht unterstützt werden.
hexAsmPAsDPR???
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Advantage , ODBC und SQL

  Alt 16. Mai 2012, 10:25
Du willst augenscheinlich mit dem Kopf durch die Wand,
mit Ado und auch anderen Schnittstellen laufen Batch-SQL-Scripte nicht (so wie erwartet).

Wenn du so etwas durchziehen willst mußt Du Dir Deine eigene Oberfläche erstellen.
Was Deine Temp-Tabelle angeht, sollte sie wirklich eien Temp-Tabelle sein, so ist die Frage wie lange sie überlebt. Wenn keine Tabele dann keine Daten.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf