create or replace view LjTestW1
as
select * from DataService.Flexwerker.Loonjournaal@efx(jaar => 2026, week => 1)
Med dette prøver jeg å hente lønnsjournalen fra Easyflex for en periode via en OData-feed i Excel. I Universal SQL editor fungerer denne spørringen, men den vises dessverre ikke i OData-feeden. Ikke engang etter at cache er tømt. Har noen tilfeldigvis tips?
De egendefinerte visningene fra Startup SQL bufres i både EDM-datamodellen og prosessen (så lenge forbindelsen ikke har vært avbrutt over lengre tid). Spesielt Invantive Bridge Online og Invantive App Online burer veldig aggressivt, mens Invantive Cloud-siden selv gjør det mye mer begrenset og gir mer kontroll over øktene via knappen “Koble fra” i UniversalSQL-redigereren.
Å tømme hurtigbufferen fjerner EDM-datamodellen, og fjerner også definisjonen av egendefinert visning fra økten etter behov.
Noen ganger synes det å bidra å tilbakestille hurtigbufferen, og til slutt blir visningen alltid synlig.
Det ser faktisk ut til at det er en feil; å ta en visning i produksjon for Bridge Online og App Online skal ikke være så komplisert og krevende.
Så langt har det ikke vært mulig å gjøre dette problemet reproducerbart, noe som har resultert i at det ikke har vært noen løsning.
Etter hvert har Big Data JSON-driveren blitt tilgjengelig i Invantive UniversalSQL. Denne muliggjør, i likhet med Parquet, rask forespørsel av datasett fra terabyte med loggfiler.
Vi vil dermed gjøre en analyse over en lengre historie med den involverte brukeren i et forsøk på å finne årsaken. Hvis den blir funnet, vil en feilretting bli laget for utgivelse 26.0 og den kommende utgivelsen 27.0.
En view fra oppstarts-SQL manglet i OData4-feeden, fordi Invantive Bridge Online fortsatte å bruke en tidligere lagret datamodell. Å tømme cachen i Invantive Cloud påvirker ikke den datamodellen.
Sammensatt med hjelp av AI.
Innholdssporing
Sporingen dekker 22. til 24. september 2026. Alle tider er i UTC.
Tidspunkt (UTC)
Hendelse
23-09 12:04
Databasen opprettes i Invantive Cloud, uten oppstarts-SQL.
23-09 12:05
Den første OData4-forespørselen fra Power BI. Bridge Online bygger datamodellen med 197 tabeller og lagrer den på disk. Den lagrede modellen er gyldig i syv dager.
23-09 14:26
Oppstarts-SQL får en view på lønnsjournalen.
23-09 14:31 til 14:47
Fem økter fra Power BI. I hver økt utfører Bridge Online oppstarts-SQL uten feil. Men datamodellen kommer fra diskcache: 197 Easyflex-tabeller, uten view.
24-09 08:39
Enda en økt, samme situasjon.
24-09 08:46
Cachen tømmes i Invantive Cloud.
24-09 09:00 og 09:03
To økter, samme situasjon.
24-09 09:06
Oppstarts-SQL får en view på DataService.Flexwerker.Journaalposten. Bridge Online rapporterer riktig en feil: den tabellen krever verdier for parametrene jaar og week (itgenboe074).
24-09 09:09
Oppstarts-SQL får viewen fra forespørselen. Seks sekunder senere tømmes cachen igjen i Invantive Cloud.
24-09 09:10 og 09:24
To økter. Oppstarts-SQL oppretter viewen uten feil. Datamodellen kommer igjen fra diskcache, med 197 tabeller.
Etter den første endringen i oppstarts-SQL brukte dermed ti økter den gamle datamodellen.
Årsak
Ved starten av hver økt utfører Invantive Bridge Online oppstarts-SQL. Viewen eksisterer deretter i den økten. Derfor fungerer en forespørsel på viewen i SQL-editoren til Invantive Cloud.
Tabelllisten fra OData4-feeden kommer fra en separat cache: datamodellen bak $metadata. Invantive Bridge Online lagrer den datamodellen kryptert på disk per bruker og per database. Nøkkelen for den cachen inneholder bare databasen og ikke oppstarts-SQL. Etter en endring i oppstarts-SQL fortsatte derfor den gamle datamodellen i bruk, til den utløp etter syv dager.
Designet tok delvis høyde for dette. En datamodell med views fra oppstarts-SQL lagrer Bridge Online bevisst ikke, fordi slike views kan endre seg. En datamodell lagret før det var en view, ble imidlertid ikke kontrollert ved lesing. Det var situasjonen her: modellen fra 23. september 12:05 er eldre enn den første egendefinerte viewen.
Tømming av cache hjalp ikke
Invantive Cloud og Bridge Online har hver sin menyvalg “Tøm cache”. Hvert valg tømmer bare cachene til eget produkt, og de to produktene kjører på forskjellige servere. Sporing viser to ganger en reset på Invantive Cloud. Den reset sletter cachene til Invantive Cloud, men ikke de til Bridge Online. En reset i Bridge Online selv vises ikke i sporingen.
Melding 2 nevner at tømming av cache fjerner datamodellen. Dette stemmer for “Tøm cache” i Bridge Online, ikke for det samme valget i Invantive Cloud.
Forbedringer
Følgende forbedringer har blitt utført:
Bridge Online lagrer et fingeravtrykk av databasedefinisjonen sammen med datamodellen. Den består av de forskjellige oppstarts-SQL-ene og fra datakontainerne: alias, connector og valget av partisjonerte tabeller. Passord og token er ikke inkludert, fordi de fornyes uten at tabellene endres.
Hvis fingeravtrykket avviker, bygger Invantive Bridge Online opp datamodellen på nytt.
Samme fingeravtrykk er en del av nøkkelen til respons-cache. Oppstarts-SQL kan også velge andre partisjoner. Etter en endring leverer derfor ikke respons-cachen svar som er beregnet under den gamle definisjonen.
En løpende økt beholder definisjonen som økten ble åpnet med. En økt avsluttes senest ti minutter etter den siste forespørselen. Slik forblir svarene innenfor én økt gjensidig like.
En database som bare leverer fra respons-cachen i nødmodus, beholder den lagrede datamodellen og de lagrede svarene. Denne innstillingen er ment for bare å levere fra cachen.
Invantive MCP Server for AI (som Claude) bruker den samme datamodellen og får den samme korrigeringen.
Tilgjengelighet
Forbedringene er tilgjengelige fra og med release 26.0.332 og i neste release 27.0.