- Beiträge: 31
- Dank erhalten: 0
UserQuery in Anywhere zeigt keine Spalten an
- Commander
-
Autor
- Offline
- Junior Boarder
-
Weniger
Mehr
1 Jahr 10 Monate her #2118
von Commander
UserQuery in Anywhere zeigt keine Spalten an wurde erstellt von Commander
Hallo Gemeinde,
ich habe für Anywhere eine UserQuery erstellt und eingebunden, der Eintrag wird in Anywhere auch anzeigt, offenbar wird die Abfrage auch ausgeführt weil unten steht die tatsächliche Anzahl der Datensätze welche die Abfrage auch zurück liefern soll, aber die Ansicht ist "leer" bis auf eine angedeutete Spalte ohne Daten. Ich habe schon den Browser getauscht und vieles ausprobiert, ändert sich nichts. Wo könnte ich da noch ansetzen?
Es grüßt euch
euer commander
ich habe für Anywhere eine UserQuery erstellt und eingebunden, der Eintrag wird in Anywhere auch anzeigt, offenbar wird die Abfrage auch ausgeführt weil unten steht die tatsächliche Anzahl der Datensätze welche die Abfrage auch zurück liefern soll, aber die Ansicht ist "leer" bis auf eine angedeutete Spalte ohne Daten. Ich habe schon den Browser getauscht und vieles ausprobiert, ändert sich nichts. Wo könnte ich da noch ansetzen?
Es grüßt euch
euer commander
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- asu
-
- Offline
- Moderator
-
Weniger
Mehr
- Beiträge: 156
- Dank erhalten: 19
1 Jahr 10 Monate her #2119
von asu
"Wer Rechtschreibfehler findet, darf sie behalten."
asu antwortete auf UserQuery in Anywhere zeigt keine Spalten an
Hi commander,
ohne die Procedure gesehen zu haben, das Verhalten klingt nach Verwendung von temporären Tabellen in der Abfrage.
Die Problematik ist die, dass der InfoService bzw. Orgasoft.NET Anywhere im Vorfeld wissen müssen, welche Felder/Spalten die Query zurück liefert, und das, ohne die Query auszuführen. Dafür gibt es ab SQL 2012 eine DMV:
Beispiel:
SELECT name, system_type_name FROM sys.dm_exec_describe_first_result_set_for_object(OBJECT_ID('UserQueryXYZ'), 0)
Liefert dieses Select auf Ihre UserQuery keine Spalteninfo zurück, eben weil temp. Tabellen benutzt werden, kann keine Anzeige aufgebaut werden.
Das Problem (und ein Lösungsansatz) ist hier beschrieben (leider nur in englisch):
stackoverflow.com/questions/47926745/sql...e-is-used-sp-describ
Also entweder auf die temp. Tabellen verzichten, was vermutlich die einfachste Variante sein wird, oder, für SQL-Profis, eine Wrapper-Procedure schreiben und mit WITH RESULT SETS (…) arbeiten.
Ich hoffe ich konnte helfen
Gruß
asu
ohne die Procedure gesehen zu haben, das Verhalten klingt nach Verwendung von temporären Tabellen in der Abfrage.
Die Problematik ist die, dass der InfoService bzw. Orgasoft.NET Anywhere im Vorfeld wissen müssen, welche Felder/Spalten die Query zurück liefert, und das, ohne die Query auszuführen. Dafür gibt es ab SQL 2012 eine DMV:
Beispiel:
SELECT name, system_type_name FROM sys.dm_exec_describe_first_result_set_for_object(OBJECT_ID('UserQueryXYZ'), 0)
Liefert dieses Select auf Ihre UserQuery keine Spalteninfo zurück, eben weil temp. Tabellen benutzt werden, kann keine Anzeige aufgebaut werden.
Das Problem (und ein Lösungsansatz) ist hier beschrieben (leider nur in englisch):
stackoverflow.com/questions/47926745/sql...e-is-used-sp-describ
Also entweder auf die temp. Tabellen verzichten, was vermutlich die einfachste Variante sein wird, oder, für SQL-Profis, eine Wrapper-Procedure schreiben und mit WITH RESULT SETS (…) arbeiten.
Ich hoffe ich konnte helfen
Gruß
asu
"Wer Rechtschreibfehler findet, darf sie behalten."
Bitte Anmelden oder Registrieren um der Konversation beizutreten.