Invantive SQL voert een groot aantal integriteitscontroles uit op de data die het verzamelt bij de platformen. Een van die controles is dat de waarde van een tekst past bij de opgegeven maximale lengte. Deze controles hebben meestal een foutcode die begint met itgenrst
(rst
staat voor Result Set).
Analyse
Je kunt een analyse laten uitvoeren op je gegevens en de verwerking. Als blijkt dat het een bug is in de SQL engine, dan worden de kosten hiervan gecrediteerd en wordt de oorzaak planmatig weggenomen. Stuur hiervoor een ticket naar support@invantive.com.
Workaround
Je kunt het wel/niet uitvoeren van alle controles instellen via de omgevingsvariabele INVANTIVE_CHECK_ALL
. Standaard staan alle controles AAN. Als je die op false
of 0
instelt, dan worden de volgende controles niet uitgevoerd:
-
itgenrst004
: The actual data processed must match the data type of the target column ‘…’ in ‘…’. -
itgenrst007
: The metadata of the columns ‘…’ specifies that null values should not appear, but there is a null value in row #999. -
itgenrst009
: The column ‘…’ in ‘…’ can contain a text of at most 999 characters. The value ‘…’ in row #999 exceeds the maximum length (999 characters). -
itgenrst011
enitgenrst013
: The value ‘…’ of the required column ‘…’ in ‘…’ is before the start of the Gregorian calendar (01-01-1753).
Je kunt ook een specifieke controle uitschakelen via de omgevingsvariabelen:
INVANTIVE_CHECK_ITGENRST004
INVANTIVE_CHECK_ITGENRST007
INVANTIVE_CHECK_ITGENRST009
INVANTIVE_CHECK_ITGENRST011
Ook hier gebruik je false
, 0
, true
of 1
.
Met INVANTIVE_CHECK_ITGENRST011
zet je ook itgenrst013
uit. Je kunt echter voor itgenrst011
en itgenrst013
ook de SQL engine vragen om er een geldige datumwaarde in te zetten zoals beschreven in dit topic.
Gebruik dit uitschakelen alleen als de verlaagde betrouwbaarheid van de gegevens het toestaat en tref aanvullende maatregelen om te zorgen dat de eisen die gesteld worden aan de gegevensverwerking anderszins gerealiseerd worden.
Merk op dat het gaat om omgevingsvariabelen. Die werken op alle platformen (Mac, iOS, Linux, Windows) vergelijkbaar: je stelt een omgevingsvariabele in, (exporteert 'm eventueel op UNIX-varianten) en het proces en alle nieuwe kindprocessen werken hiermee.
Andere controles dan genoemde kun je momenteel niet omzeilen.