Hallo Michael,
danke für die Antwort. Mittlerweile hatte ich es hingekriegt, die Package Procedures aufzurufen und auch den ref cursor zurück zu bekommen. Wenn ich allerdings versucht habe, die Ergebnisse in einem Grid anzuzeigen, blieb das Grid immer leer. Da ich nicht weiß, woran es liegt, hab ich es jetzt mal mit dem Package Wizard versucht.
Dort bekomme ich jetzt ein Query Objekt zurück, in dem so wie ich es verstehe, die Ergebnisse drin stehen. In meinem bisherigen Code erstelle ich bisher eine TOracleDataset Instanz, weise dieser mit mDS.ExternalCursor := mQuery die Query, die den Cursor beinhaltet zu und erstelle dann ein DataSource Objekt, welchem ich das Dataset reingebe. Diese Datasource verknüpfe ich dann über mGrid.Datasource := mDataSource mit dem Grid.
Irgendwo scheint es da aber zu haken, denn das Grid bleibt auch bei dem Aufruf der vom Wizard erstellten Funktionen leer.
Mache ich da noch irgendwas falsch ?
An den StoredProcedures kann es m.M.n. nicht liegen, da ich mittlerweile ca. 20 verschiedene ausprobiert habe, und die Datenbank auch von einer anderen Delphi Applikation, von der ich leider keinen Sourcecode habe, ohne Probleme verwendet wird.
Bin weiterhin für Hilfe dankbar...
---
Moderiert von
Narses: Beiträge zusammengefasst---
Ich habe gerade herausgefunden, dass es bei der Zuweisung des Cursors (TOracleQuery) zum Dataset schief geht. Wenn ich CursorQuery.Execute; aufrufe, ist die Query mit Daten gefüllt (FieldCount, RowCount sind ungleich 0). Wenn ich dann aber dem Dataset die CursorQuery mit mDataset.ExternalCursor := CursorQuery; zuordne und anschließend in das Dataset rein schaue, hat das Dataset einen FieldCount von 0.
Muss hier sonst noch irgendwas ausgeführt werden ?? So wie ich die DOA-Hilfe verstehe sollte es ausreichen, die CursorQuery als ExternalCursor ans Dataset zu hängen, dem scheint aber nicht so zu sein...
Hilfe
---
Moderiert von
Narses: Beiträge zusammengefasst---
Hat sich erledigt, ich hab es hingekriegt. Man muss zusätzlich dem Dataset auch noch die Session zuordnen. Darauf bin ich nicht gekommen, da ich die Session ja eigentlich schon in der CursorQuery mit drin habe.