AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Können Unterschiede beim DB-Zugriff am Provider liegen?
Thema durchsuchen
Ansicht
Themen-Optionen

Können Unterschiede beim DB-Zugriff am Provider liegen?

Ein Thema von Jumpy · begonnen am 27. Mai 2011 · letzter Beitrag vom 30. Mai 2011
Antwort Antwort
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#1

Können Unterschiede beim DB-Zugriff am Provider liegen?

  Alt 27. Mai 2011, 15:23
Datenbank: Oracle • Version: 10g • Zugriff über: ADO
Hallo,

schreibe folgendes SQL-Statement in einer MemoBox und gebe das dann (über: Query.SQL.Text := Memo.Text an eine TADOQuery weiter:

Code:
Select
  Feld1,
--Feld2,
  Feld3,
  Feld4
From wfm.Test
Durch -- ist ja Feld 2 auskommentiert.

Läuft die Verbindung über Oracles ODBC-Treiber klappt das Ganze.

Greife ich aber ohne ODBC, direkt mit dem Oracle-Provider auf die DB zu, so bekomme ich die Fehlermeldung, dass das SQL-Statement falsch ist. Bin der Meinung herausgefunden zu haben, dass er nun alles ab dem -- auskommentiert, als Statement quasi nur "Select Feld1," ankommt.

Kann das sein?
Ralph
  Mit Zitat antworten Zitat
shmia

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

AW: Können Unterschiede beim DB-Zugriff am Provider liegen?

  Alt 27. Mai 2011, 15:31
Das könnte schon sein.
Schaut man sich folgende Query an:
SQL-Code:
SELECT * FROM Tabelle
WHERE Feld=42
dann könnte man ja auf die Idee kommen, den Zeilenumbruch durch ein Leerzeichen zu ersetzen:
SELECT * FROM Tabelle WHERE Feld=42 Genau die gleiche Query; nur andere Schreibweise.
Die Annahme dass Zeilenumbruch ein Leerzeichen sei funktioniert wunderbar und fehlerfrei, bis halt jemand kommt und mit "--" eine Zeile auskommentieren möchte.

Du könntest deine Annahme mit folgender Query bestätigen:
SQL-Code:
Select
  Feld1
FROM wfm.Test
--Feld2,
  Feld3,
  Feld4
From wfm.Test
Andreas
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Können Unterschiede beim DB-Zugriff am Provider liegen?

  Alt 27. Mai 2011, 15:59
Ich kann das nicht nachvollziehen (MS Oder Oracle Provider, egal). Es wird immer nur die Zeile weggelassen, die auskommentiert ist.
Vielleicht hängts an einem Semicolon?
Vielleicht hast Du "kranke" Zeilenumbrüche?


P.S: Was ist die genau Fehlermeldung?
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von rainerg
rainerg

Registriert seit: 5. Aug 2002
Ort: Hannover
82 Beiträge
 
Delphi XE Starter
 
#4

AW: Können Unterschiede beim DB-Zugriff am Provider liegen?

  Alt 27. Mai 2011, 18:11
.

Greife ich aber ohne ODBC, direkt mit dem Oracle-Provider auf die DB zu, so bekomme ich die Fehlermeldung, dass das SQL-Statement falsch ist. Bin der Meinung herausgefunden zu haben, dass er nun alles ab dem -- auskommentiert, als Statement quasi nur "Select Feld1," ankommt.
Und wenn es einfach nur an den -- liegt, die in diesem Fall überhaupt nicht gemocht werden?
Rainer G. aus H.
www.BunteReisebilder.de
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Können Unterschiede beim DB-Zugriff am Provider liegen?

  Alt 27. Mai 2011, 18:14
Dann nimmt man halt /**/
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: Können Unterschiede beim DB-Zugriff am Provider liegen?

  Alt 29. Mai 2011, 22:33
.

Greife ich aber ohne ODBC, direkt mit dem Oracle-Provider auf die DB zu, so bekomme ich die Fehlermeldung, dass das SQL-Statement falsch ist. Bin der Meinung herausgefunden zu haben, dass er nun alles ab dem -- auskommentiert, als Statement quasi nur "Select Feld1," ankommt.
Und wenn es einfach nur an den -- liegt, die in diesem Fall überhaupt nicht gemocht werden?
Select *
From Tabelle
--blabla

funktioniert. Will heißen, wenn das Statement, das vor dem -- steht, soweit OK ist, wird der Select ausgeführt. D.h. am -- selber stört es sich nicht.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Können Unterschiede beim DB-Zugriff am Provider liegen?

  Alt 30. Mai 2011, 07:35
Ich vermute wie shmia auch, dass Zeilenumbrüche in Leerzeichen umgewandelt werden. Daraus folgt, dass alles nach dem -- komplett ignoriert wird. Für Dich heißt das also, dass Du entweder auf Kommentare verzichtest oder eben eine alternative Syntax verwendest, welche über ein Kommentarendezeichen verfügt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: Können Unterschiede beim DB-Zugriff am Provider liegen?

  Alt 30. Mai 2011, 09:06
Hallo zusammen,

konnte shmia's und DeddyH's Vermutung mit ein paar Test bestätigen. Warum das aber so ist, konnte ich nicht herausfinden, ist aber auch egal, da es mir mal wieder nur ums Wissen ging.
Es liegt aber mal wieder am 9er Oracle Client, auf den neuen Rechenrn mit 10er oder 11er Client gab es nämlich keine Probleme.

Das Benutzen anderer Kommentarzeichen ist da der Workarround der Stunde, wobei das in sofern blöd ist, als das das der Workarround für den Workarround ist (lange Geschichte, die ein paar alte Threads von mir betrifft (z.B. den zu LONG-Datentypen)). Konsequenz wird erstmal ein baldiges Upgrade der Clients sein (soweit möglich)und irgendwann mal vllt. der Wechsel zu nativen Komponenten, die ja einige mir schon öfters vorgeschlagen haben (auf jeden Fall weg von ODBC).

Danke und Schluss!
Ralph
  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 13:01 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