IntraDom Network Krzysztof Błachut

0 %
Krzysztof Andrzej Błachut
IT Administrator
& Consultant
  • Residence:
    Wrocław, Poland
Hard skills
  • Debian Linux Administration
  • Cloudflare Zero Trust
  • Bareos / Bacula
  • Puppet, Terraform, Ansible
  • Documentation writing
  • Virtualization
  • Prometheus, Zabbix, Grafana
  • PHP, JS, SQL, GIT
  • MySQL, PostreSQL
  • Hardware management
  • Electrical rights (SEEP D, E) up to 1kV
  • Category B driving licence
Languages
  • Polish
  • English
Hobby
  • Urban exploration
  • IoT / Home automation and electronics
  • 3D printing

Migracja Płatnika z Axcess 32bit do MSSQL Server 2014

2016-03-23

Nieszczęśliwie mi się złożyło, że przypadła mi administracja Windows Server 2012 wraz z MSSQL Server 2014 na którym to ma działać m.in. program Płatnik.
Oczywiście uruchomienie wszystkiego od zera to nie problem – jak we wszystkim związanym z Ms wystarczy klikać “Dalej”. Gorzej jeżeli konieczna jest dodatkowo migracja danych ze starszych wersji…

Pomijając wszystkie etapy przez które musiałem przejść by znaleźć właściwe rozwiązanie, oraz niezliczone obelgi jakie przy okazji wymyśliłem na twórców Płatnika znalazłem rozwiązanie problemu migracji z MDB32 do MSSQL.
Najlepszym sposobem na migrację danych okazało się wykorzystanie Microsoft SQL Server Migration Assistant v6.0 for Access, który za darmo można pobrać ze stron Microsoftu.

W ustawieniach projektu migracji ustawiamy odpowiednio zmianę typów pól pomiędzy Accessem, a MSSQL (menu Tools -> Project Settings -> Type Mapping):

[code]date na datetime
text[*..*] na varchar[*]
memo na varchar[max][/code]

Dodatkowo w ustawieniach projektu konieczne jest ustawienie by nie były dodawane kolumny ze znacznikami czasu (menu Tools -> Project Settings -> General; Conversion):

[code]Add timestamp columns = Never[/code]

Kolejnym krokiem po przeprowadzeniu migracji z powyższymi ustawieniami jest usunięcie wszystkich ograniczeń dot. zerowej długości pól. By nie zajęło to wieków można skorzystać z SQL Management Studio i na nowej bazie danych Płatnika (zakładając, że nazywa się właśnie wykonać zapytanie, które wygeneruje nam gotowca do uruchomienia:

[code title="SQL" language="sql"]SELECT CONCAT('ALTER TABLE [', CONSTRAINT_CATALOG, '].[', TABLE_SCHEMA, '].[', TABLE_NAME, '] DROP CONSTRAINT [', CONSTRAINT_NAME, '];')
FROM [PLATNIK].[INFORMATION_SCHEMA].[TABLE_CONSTRAINTS]
WHERE CONSTRAINT_TYPE = 'CHECK';[/code]

Pominięcie tego kroku będzie powodowało wywalanie komunikatu o “constraints disallow_zero_length” blokującego możliwość pracy z programem.

Instrukcja przejścia przez proces migracji nieuwzględniająca koniecznych modyfikacji ustawień projektu została przeze mnie znaleziona w formie obrazkowej na stronie
Amphis Software, na wszelki wypadek zachowałem kopię strony – by w przyszłości nie trzeba było jej szukać po Web Archive 🙂

Posted in Microsoft, Praca
Write a comment
© 2007-2024 All Rights Reserved.