Nah, MS Access mewakili datetime
tipe data sebagai double
:
- Epoch
(titik nol) dari kalender MS adalah
30 December 1899 00:00:00
- Bagian bilangan bulat dari
double
adalah offset dalam hari dari epoch, dan - Bagian pecahan dari
double
adalah bagian pecahan hari.
Sesuai spesifikasi, domain dari bagian tanggal MS Access datetime
adalah
- batas bawah:
1 January 100
- batas atas:
31 December 9999
Dan karena domain dari SQL Server datetime
adalah:
- batas bawah:
1 January 1753
- batas atas:
31 December 9999
setiap tanggal dalam database MS Access Anda sebelum 1 Januari 1753 akan menyebabkan masalah. Anda perlu menemukan data palsu dan memperbaikinya. Beberapa pendekatan:
-
Di database akses Anda, buat tampilan/kueri untuk menyajikan data dalam bentuk yang cocok untuk SQL Server. Kemudian, muat massal dari itu ke SQL Server.
-
Seringkali, karena itu adalah kesimpulan yang pasti bahwa data sumber Anda kotor/rusak, ketika memuat data secara massal ke SQL Server, seseorang akan memuat data sumber secara massal ke dalam tabel kerja di mana semua kolom dapat dibatalkan, dengan tipe
varchar
jenis dan yang tidak memiliki kendala/kunci. Setelah selesai, jalankan prosedur tersimpan yang melakukan pembersihan dan pemijatan data yang diperlukan sebelum memindahkannya ke tempat asalnya.