Itgenboe074: Oppstart SQL-feil "Kan ikke endre aktive partisjoner i [liste over divisjoner"

Jeg har to kunder på Exact Online, begge med testmiljøer som må holdes utenfor rapportene mine.

Hos kunde A satte Invantive selv opp denne oppstarts-SQL-en under introduksjonstimen:

use
select code, ‘eol’
from systemdivisions@eol
where upper(description) not like ‘%TEST%’;

Nå vil jeg bruke den samme oppstarts-SQL-en for kunde B. Siden det ikke er oppgitt noe spesifikt, tenkte jeg at jeg bare kunne gjenbruke denne koden. Men når jeg fyller den inn og oppdaterer i Power BI, får jeg følgende:

Microsoft.Mashup.Engine1.Library.Resources.HttpResource: Request failed: OData Version: 3 and 4, Error: The remote server returned an error: (500) Internal Server Error. (Oppstarts-SQL-setningene i databasen har forårsaket en brukerfeil, les resten av denne feilen nøye. Kan ikke endre aktive partisjoner til [liste over divisjoner, fjernet av personvernhensyn i dette innlegget] fordi partisjonen ‘X’ ikke finnes. Velg kun autoriserte og lisensierte partisjoner. Vennligst ta kontakt med utvikleren av oppstarts-SQL-en. (itgenboe074, 13b606de-6697-49d7-aa7f-8406aac9960b))

Partisjonen/divisjonen X eksisterer forresten, og er ikke en av testdivisjonene som skal ignoreres.

Hva er det jeg overser?

Partisjonen ‘X’ forventes ikke å være både autorisert og lisensiert samtidig.

Rådet er å kontrollere statusen til den aktuelle parten.

Dette kan gjøres ved å se på innholdet i SystemDivisions@eol:

select Code
,      IsReadLicensed
,      IsWriteLicensed
from   SystemDivisions@eol

Mer detaljer finnes i SystemPartitions@DataDictionary, som:

select code
,      is_active
,      is_archived
from   SystemPartitions@DataDictionary

Generelt vil dette avdekke ett av de underliggende problemene.

Mer informasjon om feilmeldingen finnes i:

Mer informasjon om hvordan man velger administrasjoner finnes i:

Den aktuelle divisjonen har faktisk ikke lese-/skriverettigheter, men dette kommer ikke frem som en feilmelding hvis jeg legger til «use all» som oppstarts-SQL. Feilen kommer bare frem når jeg begrenser partisjonene med TEST i navnet.

Med koden nedenfor løser jeg det, selv om jeg fortsatt synes det er merkelig:

use
select code, ‘eol’
from systemdivisions@eol
where upper(description) not like ‘%TEST%’ and code <> ‘X’;

Så i den forstand er problemet løst, takk.

Bra at det er løst.

Dette er ønsket atferd fra vår side. use all velger kun de brukbare partisjonene/administrasjonene og bruker allerede selv de nødvendige filtrene for disse.