Nou, MS Access vertegenwoordigt zijn datetime
gegevenstype als een double
:
- Het tijdperk
(nulpunt) van de MS-kalender is
30 December 1899 00:00:00
- Het gehele gedeelte van de
double
is de offset in dagen vanaf het tijdperk, en - Het fractionele deel van de
double
is het fractionele deel van de dag.
Volgens de specificatie, het domein van het datumgedeelte van een MS Access datetime
is
- ondergrens:
1 January 100
- bovengrens:
31 December 9999
En aangezien het domein van een SQL Server datetime
is:
- ondergrens:
1 January 1753
- bovengrens:
31 December 9999
alle data in uw MS Access-database vóór 1 januari 1753 gaan problemen veroorzaken. U moet de valse gegevens vinden en repareren. Een paar benaderingen:
-
Maak in uw toegangsdatabase een weergave/query om de gegevens te presenteren in een vorm die geschikt is voor SQL Server. Laad vervolgens daarvan in bulk in SQL Server.
-
Vaak, aangezien het vrijwel een uitgemaakte zaak is dat uw brongegevens vuil/beschadigd zijn, zal men bij het bulksgewijs laden van gegevens in SQL Server de brongegevens in bulk laden in een werktabel waar alle kolommen nullable zijn, van het type
varchar
typen en dat heeft geen beperkingen/sleutels. Zodra dat is gebeurd, voert u een opgeslagen procedure uit die de nodige opschoning en massage van de gegevens uitvoert voordat deze naar de juiste plaats wordt verplaatst.