No, MS Access představuje svůj datetime
datový typ jako double
:
- Epocha
(nulový bod) kalendáře MS je
30 December 1899 00:00:00
- Celočíselná část
double
je posun ve dnech od epochy a - Zlomková část
double
je zlomková část dne.
Podle specifikace doména části data v MS Access datetime
je
- dolní hranice:
1 January 100
- horní hranice:
31 December 9999
A od domény SQL Server datetime
je:
- dolní hranice:
1 January 1753
- horní hranice:
31 December 9999
všechna data ve vaší databázi MS Access před 1. lednem 1753 způsobí problémy. Musíte najít falešná data a opravit je. Několik přístupů:
-
V databázi Access vytvořte pohled/dotaz, který bude data prezentovat ve formě, která je pro SQL Server přijatelná. Poté z toho hromadně načtěte do SQL Server.
-
Často, protože je v podstatě předem rozhodnuto, že vaše zdrojová data jsou špinavá/poškozená, při hromadném načítání dat na SQL Server se zdrojová data hromadně načtou do pracovní tabulky, kde všechny sloupce mohou obsahovat hodnotu null, typu
varchar
typů a nemá žádná omezení/klíče. Jakmile to uděláte, spusťte uloženou proceduru, která provede nezbytné vyčištění a zmasírování dat před jejich přesunem do správného domova.