Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Tanggal Harus antara 1/1/1753 12:00:00 AM dan 12/31/9999 11:59:59 PM Kesalahan OverFlow SqlBulkCopy

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana menyusun SQL_Latin1_General_CP1_CI_AS menggunakan operator IN

  2. Pemroses Perubahan Basis Data SQL Server C#

  3. Pertanyaan kinerja untuk Ketergantungan Cache SQL

  4. Cara Mengubah Semua Kolom Sql dari Satu Tipe Data menjadi Yang Lain

  5. Memesan di SQL Server