Entwickler-Ecke
Datenbanken - Problem DBExpress und Oracle
Bohné - Di 15.10.02 22:56
Titel: Problem DBExpress und Oracle
Hallo,
ich habe folgendes Problem mit der DBExpress-Komponente SQLDataSet:
Ich arbeite mit einer Oracle Datenbank. Die Tabellen auf die ich zugreifen möchte liegen in unterschiedlichen
Tablespaces. Der Zugriff auf Tabellen, von denen ich nicht der Eigentümer bin, geschieht nach folgender
Syntax : z.B. " SELECT * FROM Tablespacename.Tabellenname ...".
Bei Selectbefehlen habe ich keine Probleme, aber wenn ich untersuchen möchte wieviele Datensätze ich
als Ergebnis bekomme " If SQLDataSet1.RecordCount .." wird im Hintergrund eine neue Abfrage an Oracle gestartet.
Die Abfrage funktioniert, solange ich Eigner des Tablespace bin. Möchte ich auf Tabellen anderer Tablespaces zugreifen
(die Berechtigungen sind erteilt;bei Oracle SQLPlus funktioniert der Aufruf ), bekomme ich nur Fehlermeldungen.
Ich habe die Abfragen mittels SQLMonitor aufgezeichnet, meiner Meinung nach dürften " Tablespace.Tabellenname" nicht in
doppelten Anführungszeichen stehen.
Ich denke ein Fehler der Componente. Es interessiert Borland aber nicht ( die wollen für Techn. Support 225 Euro im Voraus).
- Es wird nirgendwo erwähnt, das durch ein Aufruf von RecordCount eine SELECT COUNT(*)-Anfrage an Oracle geschickt
wird.
- habe ich irgendwo einen Einfluß auf die Formulierung der Abfrage ?
- wie kann ich sonst die erhaltenen Datensätze zählen?
(außer ich mache vorher einen seperaten Select Count(*) .. )
Im voraus Danke
LCS - Mi 16.10.02 08:21
Hi
da SQL-Server Mengenorientiert arbeiten, liefert RecordCount in der Regel kein korrektes Ergebnis. Das ist nicht nur bei Oracle so.
Ich habe da am Anfang auch öfter darüber geflucht, aber leider gibts keine andere vernünftige Lösung, als SELECT COUNT(*).
Zu den Anführungszeichen kann ich an der Stelle nix sagen, aber ich würde die Abfrage selber in die Hand nehmen, dann tritt das Problem gar nicht erst auf.
Gruss Lothar
Bohné - Mi 16.10.02 14:45
Dankeschön, hab mir schon so etwas gedacht.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!