Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Датата трябва да е между 1/1/1753 00:00:00 ч. и 31/12/9999 23:59:59 ч. Грешка при препълване SqlBulkCopy

Е, 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 типове и това няма ограничения/ключове. След като това е направено, изпълнете съхранена процедура, която извършва необходимото почистване и масажиране на данните, преди да ги преместите в правилния им дом.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да активирате всички ограничения за проверка в базата данни на SQL Server - SQL Server / TSQL урок, част 88

  2. SQL Server:трябва ли да използвам таблици information_schema над sys таблици?

  3. Какво е значението на саморефериращия външен ключ?

  4. Обектът не можа да бъде пуснат, защото е препратен от ограничение ВЪНШЕН КЛЮЧ - SQL Server / TSQL Урок, част 74

  5. Използването на функция за опростяване на SQL Query ще повлияе ли масово на производителността?