Е, MS Access представлява своя datetime
тип данни като double
:
- епоха
(нулева точка) от календара на MS е
30 December 1899 00:00:00
- Цялата част от
double
е отместването в дни от епохата, и - Дробната част от
double
е дробната част от деня.
Съгласно спецификацията, домейнът на частта с датата на MS Access datetime
е
- долна граница:
1 January 100
- горна граница:
31 December 9999
И тъй като домейнът на SQL Server datetime
е:
- долна граница:
1 January 1753
- горна граница:
31 December 9999
всякакви дати във вашата база данни на MS Access преди 1 януари 1753 г. ще създадат проблеми. Трябва да намерите фалшивите данни и да ги коригирате. Няколко подхода:
-
Във вашата база данни за достъп създайте изглед/заявка, за да представите данните във форма, подходяща за SQL Server. След това групово заредете от това в SQL Server.
-
Често, тъй като е почти предрешено, че вашите изходни данни са мръсни/повредени, при групово зареждане на данни в SQL Server, ще се заредят групово изходните данни в работеща таблица, където всички колони са nullable, от тип
varchar
типове и това няма ограничения/ключове. След като това е направено, изпълнете съхранена процедура, която извършва необходимото почистване и масажиране на данните, преди да ги преместите в правилния им дом.