Maciej Cybulski

Maciej Cybulski Magik od WordPressa,
secjalista SEO

Temat: .mdb do... i tu jest problem...

Witam,

Mam problem nad któym zastanawiam się w jaki sposób go najlepiej rozwiązać.
Kilka lat temu mała firma zatrudniająca kilkudziesięciu pracowników zaczęła dane kadrowe gromadzić w bazie MS Access 2000 (.mdb) przez ten czas baza rozrosła się do kilku tysięcy rekordów i nadal się rozrasta. Wszystko byłoby ok tylko pojawiła się potrzeba wielodostępu do bazy i... niestety ostatnio coś coraz częściej pojawia się komunikat że plik bazy jest uszkodzony i MS Access nie mógł naprawić błędu. Zatem pojawiła się propozycja aby dane wyeksportować do jakiegoś mniej zawodnego serwera baz danych (najlepiej bezpłatnego) i stworzyć do tego interfejs ot choćby www (jako aplikacja intranetowa).
Z budową interfejsu nie powinno być problemu zostaje czy to Ruby czy PHP5 więc idzie to skutecznie rozwiązać.
Pozostaje pytanie jaki serwer baz danych zastosować i jakich narzędzi użyć do przeniesienia danych z pliku MS Access (.mdb) do serwera.
Możecie mi coś praktycznego zaproponować (może też z uzasadnieniem ;) . Przyglądałem się pod tym kątem 3 serwerom - MySQL, PostgreSQL i Oracle 10g EX. Jednak nie mam pojęcia który do tego celu lepiej się nadaje.
Z góry dzięki.

konto usunięte

Temat: .mdb do... i tu jest problem...

Witam

Jeżeli chodzi o aplikacje wielodostępu to można pozostawić fronton na MS Access i poprzez kreator rozbudowy przenieść tabele i zapytania do MS SQL Server 2005. Wtedy baza będzie działała na 100% wydajniej niż na samym MS Access (gdyż przy tak dużej liczbie rekordów niestety ale stary dobry Access zawodzi).
Tomasz Niewdana

Tomasz Niewdana IT Network Security
Engineer - Solidex
S.A

Temat: .mdb do... i tu jest problem...

...
Możecie mi coś praktycznego zaproponować (może też z uzasadnieniem ;) . Przyglądałem się pod tym kątem 3 serwerom - MySQL, PostgreSQL i Oracle 10g EX. Jednak nie mam pojęcia który do tego celu lepiej się nadaje.
Z góry dzięki.

PostgreSQL powinien spełnić z nadmiarem Twoje oczekiwania,
zapewniając przy tym należytą stabilność i możliwość łatwej rozbudowy funkcjonalności w przyszłości.

Do podobnej jak Twoja migracji, kiedyś używałem tego narzędzia: http://mdbtools.sourceforge.net/

pozdrawiam:)
Grzegorz G.

Grzegorz G. ASE / Systems
Architect, Syniverse

Temat: .mdb do... i tu jest problem...

Oracle XE - 10g lub 11g (o ile już się ukazało).

Import - heterogeneous services
Interfejs - HTML DB (Application Express).
Maciej Cybulski

Maciej Cybulski Magik od WordPressa,
secjalista SEO

Temat: .mdb do... i tu jest problem...

Zastanawia mnie tylko jeszcze jedno...
Czy jest możliwość zaimportowania do innej bazy całości accessowej aplikacji (tabel, kwerend, formularzy, raportów i makr), bo jest tego całkiem sporo.
Piotr Jan Podleśny

Piotr Jan Podleśny wszystko jest
trudne, dopóki nie
stanie się proste...

Temat: .mdb do... i tu jest problem...

Maciej "Merlin" Cybulski:
Zastanawia mnie tylko jeszcze jedno...
Czy jest możliwość zaimportowania do innej bazy całości accessowej aplikacji (tabel, kwerend, formularzy, raportów i makr), bo jest tego całkiem sporo.

Niestety tego już nie zaimportujesz do żadnej darmowej bazy...

dane z tabel jak najbardziej, ale już przy relacjach zacznie się problem, Wydruki moze cristal ??, formulaże php5 ??

ja bym zrobił tak.
wyeksportował tabele na MS SQL 2005 (tego darmowego)
potem załączył te tabele do bazy MDB
bazy MDB lokalnie na kompach u każdego osobna
a dane składowane na serwerze MS SQL
to doraznie i bardzo szybko,
a równolegle zaczoł bym projektowac zupełnie nowe rozwiązanie
w zamian tego istniejacego.

Pozdrawiam Piotr
Maciej Cybulski

Maciej Cybulski Magik od WordPressa,
secjalista SEO

Temat: .mdb do... i tu jest problem...

Heh widzę że to co pisze Piotr będzie najrozsądniejszym rozwiązaniem po drobnej modyfikacji. W sumie poprzez ODBC mogę jako serwer baz danych podpiąć chyba każdy serwer posiadający ten interfejs. Czyli nawet powiedzmy PostgreSQL, czy Oracle 10gEX. A potem pod tym kątem przygotować w php resztę interfejsu.
No ale jeszcze jedno pytanko. Wspomniałeś o Crystal Reports...
Interesują mnie w sumie wszelkie rozwiązania OpenSource (albo raczej bezpłatne) dlatego właśnie PostgreSQL i PHP... a czy jest coś o podobnej funkcjonalności jeśli chodzi o raporty?
Tomasz Niewdana

Tomasz Niewdana IT Network Security
Engineer - Solidex
S.A

Temat: .mdb do... i tu jest problem...

tu jest kilka alternatyw, ale przyznam, że nie testowałem:)
http://www.osalt.com/crystal-reports

konto usunięte

Temat: .mdb do... i tu jest problem...

Witam,

Polecam Oracle 10g XE + Application Express 3.0.1, jak dobrze poszukasz znajdziesz narzędzia do przeniesienia aplikacji z MS Access-a do HTML DB (o ile pamiętam coś takiego obiło mi się o oczy na stronie oracle.com) a jak nie to to SQL Server 2005 Express + Visual C# 2005/2008 Express, jakby co mogę pomóc w napisaniu aplikacji... Nie bawiłbym się w PHP.

Pozdrawiam,

john
Tomasz Niewolik

Tomasz Niewolik
Programista/Projekta
nt

Temat: .mdb do... i tu jest problem...

Ja widzę tu dwa rozwiązania, które jednocześnie są proste i skuteczne.

Pierwsze to przenieś bazę na MS SQL Server 2005 Express Edition - darmowe nawet do komercyjnych rozwiązań. Bazę MS Access przeniesiesz tam bez problemów (możesz to zrobić od strony Access'a lub MS SQL Servera). Interfejs pozostawić po stronie Accessa z linkowanymi tabelami.

Drugi sposób jest jeszcze prostszy. Rozdziel plik Accessa na dwa - w jednym pliku są tabele, a w drugim reszta z linkowanymi tabelami. Plik z danymi siedzi gdzieś na serwerze, a plik z interfejsem może mieć każdy użytkownik lokalnie. Dzięki temu nawet gdy ktoś popsuje plik, to zrobi to lokalnie i bez szkód dla innych. Komunikat, który dostajesz zazwyczaj wyświetla się gdy w nieprawidłowy sposób zamknie się bazę mdb.

Kilka tysięcy rekordów to nie jest jakaś powalająca ilość dla Accessa, więc to nie to jest przyczyną Twoich problemów. Powyższe rozwiązania sam stosowałem w aplikacjach, których używało wiele osób jednocześnie i nie miałem z tym większych problemów. Drugi sposób stosowałem w czasach gdy klient nie chciał serwera SQL (bo był za drogi) a nie było jeszcze MS SQL Server 2005 EE. Obecnie sposób pierwszy wydaje mi się najbardziej optymaly - pod względem pracochłonności i wydajności.

Temat: .mdb do... i tu jest problem...

Program Navicat bez problemu wyeksportuje bazę Access do MySQL-a, a potem może wgrać ją na serwer.Piotr Wittchen edytował(a) ten post dnia 02.01.08 o godzinie 14:23
Jarosław S.

Jarosław S. Full Stack Qt/C++
Dev Since 1997

Temat: .mdb do... i tu jest problem...

Witam,
Eksportowi projektów tabel i samych danych do PostgreSQL, MySQL, SQLite podoła moduł z Kexi (kexi-project.org). Jest to projekt który mam przyjemność prowadzić; korzysta ze wspomnianego już mdbtools.

Eksport, zapytań formularzy itp. to jeszcze kwestia czasu, gdyż format mdb to chyba najbardziej bałaganiarski i zmienny z wersji-do-wersji twór. Nie inicjuje nawet pamięci przy zapisie zrzutów jej obszarów do pliku. :)
Grzegorz L.

Grzegorz L. Bujam w Chmurach.
Obliczeniowych.

Temat: .mdb do... i tu jest problem...

Wydaje mi się, że rozwiązanie z technologiami MS jest całkiem ok.

MS SQL 2005 Express + WebDeveloper Express lub VS C# Express wedle potrzeb. wszystko jest darmowe, zostaje w jednej technologii i jest spora społecznośc do której możesz zwrócic się z problemami.

Minus tego rozwiązania jest taki, że MS SQL 2005 Express pozwal na jednoczesną prace max 5 sesji. Jeśli potrzeba więcej to niestety musisz poszukac gdzie indziej.
Maciej Cybulski

Maciej Cybulski Magik od WordPressa,
secjalista SEO

Temat: .mdb do... i tu jest problem...

Szczerze powiedziawszy mam jakąś być może nieuzasadnioną awersję do produktów MS... Ale całkiem ciekawie wygąda rozwiązanie Oracla 10g XE i Application Express... chyba tą drogą pójdę...

konto usunięte

Temat: .mdb do... i tu jest problem...

Maciej "Merlin" Cybulski:
Szczerze powiedziawszy mam jakąś być może nieuzasadnioną awersję do produktów MS... Ale całkiem ciekawie wygąda rozwiązanie Oracla 10g XE i Application Express... chyba tą drogą pójdę...

Niestety darmowe bazy danych Oracle i MS mają swoje ograniczenia które mogą jeśli nie w chwili obecnej to w niedalekiej przysłości wymóc na tobie ponowną zmianę technologii lub zakup odpowiednika płatnego, co przy braku analizy co lepiej wybrać i gdzie ma być aplikacja wystawiona może drogo kosztować, osobiście jeśli firmę stać to bym wybrał Oracle, ale jeśli nie chce iść w bardzo duże koszty to MS Sql-a. Tak czy inaczej spróbuj z narzędziem Full Convert http://spectralcore.com i bazą danych Firebird ( darmowa i wydajna ).
Osobiście na codzień używam Oracle 9i i Firebird-a 2.0 i z obydwu jestem zadowolony.
Reasumując, jeśli nie firebird jak dla mnie to bym poprostu powiedział, że jak chcą aby wszystko śmigało to trzeba kupić Oracle lub MS Sql, sprawa prosta, jak chcesz jeździć Ferrari to go kupujesz, a tak zawsze pozostaje ci tylko maluch z emblematem stajni Ferrari.
Michał F.

Michał F. Specjalista IT, DBA

Temat: .mdb do... i tu jest problem...

Wg. mnie najrozsadniej byloby te dane przezucic do posgresa lub mysql - obie bazy darmowe z bardzo duzymi mozliwosciami rozbudowy.
Jesli chodzi o mysql i php to polecam pakiet krasnal (php, mysql, apache, itd..) - istalujesz, uruchamiasz i działa bez zbytniej konfiguracji.

Pozostaje kwestia przezucenia danych. Zadanie masz ułatwione bo poprzednicy podali wiele dobrych przykładów. Niestety z doswiadzczenia wiem ze rzadko migracje udaja się bez problemow :)
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: .mdb do... i tu jest problem...

Michał F.:
Wg. mnie najrozsadniej byloby te dane przezucic do posgresa lub mysql - obie bazy darmowe z bardzo duzymi mozliwosciami rozbudowy.

Dodam tylko, że MySQL udostępnia dedykowane narzędzie MySQL Migration Toolkit. Na stronie znajdziesz też tutorial do migracji Access -> MySQL.Łukasz Schabek edytował(a) ten post dnia 03.01.08 o godzinie 21:30

Następna dyskusja:

Dziwny problem w funkcji T-...




Wyślij zaproszenie do