Seite 1 von 1

ExecuteScript: wie komme ich an das Ergebnis?

Verfasst: Mo, 13. Jul 2015 11:31
von satmax
Mit folgender simpler Abfrage erhalte ich im Management Studio die genauen Größen der DB, Index usw. ermitteln. Zurück kommen 2 Abfrageergebnisse mit je 1 Zeile.

Code: Alles auswählen

USE myDb
EXEC sp_spaceused

Ausführen als Script geht ja noch einfach:

Code: Alles auswählen

TEXT INTO cScript WRAP
USE myDb
EXEC sp_spaceused
ENDTEXT

oStmt:=SQLStatement():New(nil, oConn)
oStmt:ExecuteScript(cScript)
Aber wie komme ich nun an das Ergebnis dieser Zeilen? Cursor habe ich ja keinen.

Re: ExecuteScript: wie komme ich an das Ergebnis?

Verfasst: Mo, 13. Jul 2015 13:10
von georg
Hallo, Markus -


grundsätzlich (zumindest laut Dokumentation) geht das :ExecuteScript() davon aus, dass keine Ergebnisse zurückgeliefert werden.

Alternativ könnte ich mir vorstellen, das Ergebnis innerhalb des Scriptes in eine temporäre Tabelle zu schreiben und diese dann via SQLSelect() auszulesen. Mangels MS SQL (ich vermute mal, dass Du selbiges einsetzt) kann ich das aber leider nicht ausprobieren.

Re: ExecuteScript: wie komme ich an das Ergebnis?

Verfasst: Mo, 13. Jul 2015 15:42
von satmax
georg hat geschrieben:Hallo, Markus -


grundsätzlich (zumindest laut Dokumentation) geht das :ExecuteScript() davon aus, dass keine Ergebnisse zurückgeliefert werden.

Alternativ könnte ich mir vorstellen, das Ergebnis innerhalb des Scriptes in eine temporäre Tabelle zu schreiben und diese dann via SQLSelect() auszulesen. Mangels MS SQL (ich vermute mal, dass Du selbiges einsetzt) kann ich das aber leider nicht ausprobieren.
Hallo Georg,

genau so habe ich es nun gelöst.