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
doubleje posun ve dnech od epochy a - Zlomková část
doubleje 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
varchartypů 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.