- Posts: 35
- Thank you received: 0
UserQuery in Anywhere zeigt keine Spalten an
- Commander
-
Topic Author
- Offline
- Junior Member
-
Less
More
4 years 6 months ago #2118
by Commander
UserQuery in Anywhere zeigt keine Spalten an was created by 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
Please Log in or Create an account to join the conversation.
- asu
-
- Offline
- Moderator
-
Less
More
- Posts: 170
- Thank you received: 23
4 years 6 months ago #2119
by asu
"Wer Rechtschreibfehler findet, darf sie behalten."
Replied by asu on topic 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."
Please Log in or Create an account to join the conversation.