Autor Wątek: Konwersja danych z MS Access do MySQL  (Przeczytany 77271 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Grzegorz Gałęzowski

  • archiwista
  • ***
  • Wiadomości: 444
  • Płeć: Mężczyzna
Konwersja danych z MS Access do MySQL
« dnia: Wrzesień 18, 2009, »
Dla wszystkich, którzy chcieliby przekonwertować bazę MS Access do bazy danych MySQL, polecam zapoznać się z programem MySQL Migration Toolkit. Jest to jeden z najprostszych sposobów przeniesienia istniejących baz do struktury silnika MySQL.

Zaczynamy od pobrania darmowego programu MySQL GUI Tools (http://dev.mysql.com/downloads//gui-tools/5.0.html). Jest to zestaw aplikacji w skład, których wchodzi także MySQL Migration Toolkit. Dodatkowo w tym pakiecie otrzymamy programy: MySQL Administrator, MySQL Query Browser, MySQL System Tray Monitor.

Po zainstalowaniu pakietu, uruchamiamy program MySQL Migration Toolkit. Po chwili otrzymamy ekran jak na rysunku poniżej. Jest to ekran powitalny.


 
Ekran powitalny wskazuje nam postęp ładowania poszczególnych części MySQL Migration Toolkit. Jeśli napotkamy tutaj błędy należy zamknąć MySQL Migration Toolkit i sprawdzić, czy jest zainstalowany Java Runtime Environment.

Niczego tutaj nie ustawiamy i klikamy Next.

Następny ekran pozwala nam na wybór pomiędzy migracją typu Direct Migration a migracją bazującą na Agent-Based Migration. Ten ostatni typ migracji dostępny jest jedynie po zainstalowaniu specjalnego agenta. Jest to typ migracji, który wybiera się na dwóch maszynach, które nie obsługują MySQL.
Jednak nie będziemy tutaj dokonywać żadnych wyborów i przejdziemy dalej klikając na Next.
 


W kolejnym kroku możemy już wybrać źródłową bazę danych, w naszym przypadku będzie to MS Access. Po tym jak już wybierzemy typ naszej źródłowej bazy danych (czyli tą którą chcemy przetłumaczyć na zapis zrozumiały dla MySQL), musimy jeszcze określić położenie pliku z naszą bazą danych (plik o rozszerzeniu .mdb).
 


W tym celu klikamy na przycisk z trzema kropeczkami znajdujący się po lewej stronie od napisu MS Access database file. Za pomocą eksploratora systemu Windows, wskazujemy lokalizację naszej bazy danych. Jeżeli baza danych wymaga podania nazwy użytkownika i hasła, możemy uzupełnić te dane wprowadzając odpowiednie dane do pola Username i Password. Jak już się z tym uporamy, klikamy na przycisk Next.



Następny ekran to określenie lokalizacji pod, którą znajduje się serwer MySQL.

Musimy tutaj wprowadzić odpowiednie dane do pozycji Hostname, Port, Username i Password.
Przyjmuję w tym przypadku, że MySQL będzie zainstalowany na tym samym komputerze co nasz konwerter. W takim przypadku w pozycji Hostname wprowadzamy ?localhost? (jak na załączonym obrazku). Jeżeli serwer MySQL jest zainstalowany na innym komputerze i jest dostępny przez sieć to wprowadzamy w tym miejscu adres serwera z którym chcemy się połączyć.
Pozycję Port pozostawiamy bez zmian (3306). Numer portu 3306 jest domyślnym ustawieniem dla MySQL. Oczywiście jeżeli numer portu został zmieniony przez administratora, to musimy tutaj wprowadzić odpowiednią wartość.
Na koniec pozostaje nam wprowadzić nazwę użytkownika z uprawnieniami umożliwiającymi tworzenie baz danych (np. root) i zdefiniowane do tego użytkownika hasło.

Przechodzimy dalej klikając na przycisk Next.



Na kolejnym ekranie też przechodzimy dalej klikając na Next. Opcjonalnie możemy wyświetlić szczegóły dziennika procesu połączenia.



W tym etapie określamy schemat bazy danych, która ma podlegać migracji do MySQL. W tym przypadku wskazujemy na nazwę Sezadane. To co tutaj zobaczymy zależy od tego jak będzie się nazywał fizycznie plik Accessowy, który będziemy konwertować (w tym przypadku nazywa się Sezadane.mdb). Przechodzimy dalej klikając na Next
 


Po wybraniu bazy danych rozpoczyna się proces inżynierii odwrotnej.
Klikamy na Next i nie dokonujemy żadnych innych operacji.
 


W tym kroku możemy ustawić, które tabele mają być migrowane. Domyślnie będą ustawione wszystkie. Możemy tutaj nie dokonywać żadnych modyfikacji. Przechodzimy dalej klikając Next.
 


Ten etap to określenie typu kodowania naszych danych. Jeżeli stosuje się znaki inne niż podstawowe tak jak to jest w języku polskim (ą, ę, ś, ź itd.), czytelnicy mogą nie odczytać takiego tekstu, chyba że sprecyzuje się jakie kodowanie zostało zastosowane.
Jako administratorzy baz danych lub deweloperzy powinniście wybrać najlepsze kodowanie znaków dla treści aplikacji i danych w niej zawartych. Dla języka polskiego możemy użyć kodowania utf-8 lub ISO-8859-2. Proszę pamiętać, że deklaracja innego kodowania nie zmieni liczby bajtów, dlatego należy zapisać tekst w danym kodowaniu.
Programiści powinni w swoich aplikacjach korzystających z naszej bazy, stworzyć taką sytuację, w której wszystkie części systemu komunikują się między sobą, wiedząc jakie kodowanie jest stosowane i posiadając wsparcie dla wszystkich systemów kodowań i znaków.
W przypadku złego kodowania, w miejscu w którym powinny być polskie znaki będą pojawiały się tzw. ?krzaczki?.

Po ustawieniu kodowania klikamy na Next i przechodzimy do następnego ekranu.


 
Po skonfigurowaniu mapowania obiektów, MySQL Migration Toolkit wykonuje konwersję obiektów bazy danych i uruchamia SQL CREATE.
Tutaj także nam pozostaje kliknąć na Next i przejść dalej.
 


Możemy teraz przejrzeć wynik działania SQL CREATE generowanego przez narzędzie MySQL Migration Toolkit. Kolejny raz klikamy na Next.


 
Domyślnie tylko obiekty, które nie zostały pomyślnie przeliczone są wyświetlane.

Teraz już nasze narzędzie jest gotowe do tworzenia obiektów bazy danych na serwerze docelowym. Mamy możliwość tworzenia zarówno obiektów bazy danych bezpośrednio na serwerze docelowym lub możemy stworzyć skrypt, który możemy ręcznie uruchomić na serwerze.

Znowu przechodzimy dalej klikając na Next.
 


Klikamy na Next.



Teraz następuje połączenie z serwerem docelowym i tworzenie obiektów bazy danych (oczywiście jeżeli zdecydowaliśmy się w poprzednim kroku na taką opcję)
Przechodzimy dalej (Next).
 


W tym etapie mamy możliwość wstawienia danych albo bezpośrednio na serwerze docelowym lub możemy stworzyć skrypt typu INSERT, który będzie wykonany ręcznie .

Kolejny raz klikamy na Next
 


Po mapowaniu, rozpocznie się masowy transfer danych. Dane zostaną zamienione na format kompatybilne z formatem używanym przez MySQL i umieszczone w serwerze bazy danych (za pomocą INSERT). Dane są umieszczone w partiach po 15000 wierszy, aby zwiększyć prędkość wstawiania.

Klikamy na Next.



Gratulacje, właśnie udało się (lub nie) dokonać migracji z bazy MS Access do MySQL. Możemy już spokojnie kliknąć na Finish.
 

Offline Marcin Buczek

  • młodszy(a) archiwista(ka)
  • *
  • Wiadomości: 107
  • Płeć: Mężczyzna
Odp: Konwersja danych z MS Access do MySQL
« Odpowiedź #1 dnia: Listopad 08, 2010, »
Ja polecam inne rozwiązanie a mianowicie dwa narzędzia [Access to MySQL] http://www.bullzip.com/products/a2m/info.php pozwalający na szybkie przekonwertowanie bazy MS ACCESS do MySQL oraz [Access To PostgreSQL] http://www.bullzip.com/products/a2p/info.php pozwalający na konwersję bazy MS ACCESS do PostgreSQL. W przypadku Access to MySQL dodatkowo musimy zainstalować Connector/ODBC 5.1.8 http://www.mysql.com/downloads/mirror.php?id=396600#mirrors. Według mnie programik działa o wiele szybciej i prościej niż w przypadku MySQL GUI Tools które wymaga dodatkowo instalacji środowiska Java i po konwersji zachowuje polskie znaki w nazwach tabel, kolumn. Innym minusem tego rozwiązania jest niewłaściwe nadanie formatów danych w poszczególnych datach np. zamiana 1 na 1.00

Offline andrzej.te21

  • słuchacz(ka)
  • Wiadomości: 6
  • Płeć: Mężczyzna
  • Szczerość to podstawa.
    • Wydruk Fototapet
Odp: Konwersja danych z MS Access do MySQL
« Odpowiedź #2 dnia: Maj 15, 2014, »
+Grzegorz czemu obrazy się nie wczytują? Nie chciałbyś prowadzić normalnego bloga?

A jeżel chodzi o tematyję to oczywiście można przekonwertować bazę danych w samym Access'ie, ale niestety czasem powstają problemy.
Jestem sobą.