Ich habe eine dynamisch gespeicherte Prozedur, die für eine ÖffnenAbfrage- einer MDX-Anweisung erstellt. So kann es vorkommen, dass die Objekte aus der mdx-Anweisung leer sind. In diesem Fall möchte ich eine leere Zeichenfolge zurückgeben.SQL Openquery - Objekt hat keine Spalten
Im Allgemeinen funktioniert die Abfrage außer wenn ich ein Datum wählen, das aus der Zukunft ist in diesem Fall der SQL Server mir diesen Fehler gibt:
"The OLE DB provider "XYZ" for linked server "XYZ" indicates that either the object has no columns or the current user does not have permissions on that object."
select
t.*
from OPENQUERY([SomeServer_OLAP],''
SELECT
non empty{[Measures].[FactWorkItemHistory Microsoft_VSTS_Scheduling_OriginalEstimate],
[Measures].[FactWorkItemHistory Microsoft_VSTS_Scheduling_CompletedWork],
[Measures].[Microsoft_VSTS_Scheduling_RemainingWork]} ON COLUMNS
, NON EMPTY { ([Work Item].[Iteration Path].[Iteration Path].ALLMEMBERS
* [Work Item].[System_AssignedTo].[System_AssignedTo].ALLMEMBERS)} on ROWS
FROM [Team System]
WHERE '[email protected]+'
'') t'
Also, für Dezember des Datum Parameter eingeben (Der Monat, in dem dieser Beitrag verfasst wurde, funktioniert einwandfrei, aber der Januar 2018 (nächster Monat) und alle folgenden Monate kommen mit dem Fehler zurück. Jede Hilfe wird geschätzt.
für einige nicht zukünftige Daten sind Sie vielleicht oben, mit leeren Zeilen oder Spalten beenden, wenn Sie eine der NonEmpties entfernen – whytheq