Nie jesteś zalogowany na forum.
Witam,
borykam się z następującym problemem - podczas migracji bazy z accessa do sql, mniej więcej po 70% wykonanej migracji pojawia się błąd "Error converting data type DBTYPE_DBTIMESTAMP to datetime".
Platforma systemowa - Win 7 32-bit, SQL 2005 Express.
Data urodzenia jednego z ubezpieczonych jest mniejsza niż dozwolona wartość (np. 1061.12.31).
Jeśli masz dostęp do MS Accessa przeanalizuj pole DATAURODZ w tabeli UBEZP_IDENT sortując wg daty. W ten sposób wykryjesz błędną datę.
Jeśli nie masz MS Accessa: zweryfikuj Rejestr ubezpieczonych, osoba z błędem krytycznym posiada błędną (starą datę urodzenia). Z procentu (70% w Twoim przypadku) nie da się określić w przybliżeniu nazwiska z błędną datą urodzenia. Testowałem na osobach z nazwiskami na D i na R i w obu przypadkach wywalało się w tym samym momencie (ok 70 %).
Dzięki za podpowiedź. Sprawdzę i dam znać jaki był efekt.
Twoja podpowiedź pomogła. Sprawdziłem Accessem i okazało się, że jedna data była wprowadzona błędnie - 982-03-12, poprawiłem na 1982-03-12 i migracja się udała. Bardzo dziękuję za pomoc.
Chyba nie dotyczy to tylko daty urodzenia. Wypełniłem wszystkie pola w tej kolumnie, które były puste i nic to nie dało. Kolumn z datą jest mnóstwo w wielu tabelach. Robota na dłuuugie wieczory.
Sprawdziłem dane ubezpieczonych, wszyscy mają poprawne daty. Reszty z poziomu programu nie da się sprawdzić/poprawić. Optymalizacja bazy, traktowanie JETem również nie rozwiązuje problemu. Jak sprawdzić który rekord z datą jest źle zapisany? Pól z datą jest masa, ręcznie wręcz nie da się tego zrobić.
Do mających z tym problem - zajęło mi to 2 dni. Pobieramy MDB Viewer, w tabeli Ubezpieczony lub Ubezp_ident sortujemy po dacie urodzenia. Szukamy np. 0981-02-02 - najczęstszy błąd. Po poprawieniu błędnych danych migracja bez problemów. Pozdrawiam
[ Wygenerowano w 0.008 sekund, wykonano 7 zapytań - Pamięć użyta: 1.44 MB (Maksimum: 1.63 MB) ]