Jak przej

Konfiguracja serwerów, usług, itp.
Rudolfff
Posty: 1
Rejestracja: 05 października 2009, 09:20

Jak przejść ze środowiska mssql na opensource

Post autor: Rudolfff »

Witam. Administruję siecią w małym urzędzie. Po moim poprzedniku przejąłem leciwe serwery pracujące na windowsie i najwyższy czas na ich wymianę. Koszt samego systemu microsoftu na 25 stanowisk to ok 5000zł !!! Wszystkie programy zainstalowane na końcówkach są napisane w c# pod bazę mssql. Wymiana programów nie wchodzi w grę, ponieważ Panie pracujące w urzędzie się do nich przyzwyczaiły... Czy jest jakaś rozsądna metoda postawienia serwera na debianie który współpracowałby z tymi programami? Pytanie do doświadczonych ponieważ nie mogę pozwolić sobie na eksperymenty. Pozdrawiam
imho
Posty: 2
Rejestracja: 05 października 2009, 10:14

Post autor: imho »

Masz na myśli współpracę bazy sql, bo reszta będzie działać, więc z pewnością nie poleci.
Będziesz zmuszony poprawić strukturę i skrypty, trudno powiedzieć w jakim stopniu.
Uruchom sobie np. mysql pod Debianem, wyeksportuj jakiś plik z bazy mssql, importuj do mysql i zbadaj co się dzieje? Taki mały pierwszy krok.
genobis
Beginner
Posty: 353
Rejestracja: 21 lipca 2008, 21:59
Lokalizacja: Trzebinia

Post autor: genobis »

Zacznę od tego, że zdecydowanie nie chciałbym być na Twoim miejscu ;)

MS SQL jest całkiem niezłą bazą danych i dość zaawansowaną, jeśli chcesz zamienić MS Windows Server na Linuksa + darmowy serwer bazy danych, polecałbym raczej PostgreSQL.

Dalej, co do tych nieszczęsnych końcówek w .NET... tutaj mamy dwie możliwości:
1. £ączą się bezpośrednio z bazą danych.
2. £ączą się ze specjalną, napisaną specjalnie dla nich usługą serwerową, która to komunikuje się z bazą danych.

Jeśli 1., to w zasadzie przekichane, bo na 99% nie obędzie się bez wprowadzenia zmian w kodzie źródłowym aplikacji klienckich i ich przekompilowania. To mogą być nawet drobne zmiany, wręcz kosmetyczne, ale prawie na pewno będą konieczne. Więc jeśli w takim wypadku nie masz kodu...

Jeśli 2., to już nieco lepiej. W takim wypadku wystarczy poprawić/przepisać kod po stronie serwera. Do tego znowu potrzebujesz kodu źródłowego, albo przynajmniej bardzo, bardzo dobrej dokumentacji.

Oczywiście, niezależnie od 1. czy 2., jest jeszcze ten 1% szans, że system został przygotowany na tyle porządnie, by migracja na inną bazę nie wymagała jakichkolwiek zmian w kodzie i sprowadziła się do zmian w konfiguracji klientów/serwera, ale do tego musiałbyś mieć naprawdę sporo szczęścia.

Na koniec pytanie - co rozumiesz przez "rozsądną metodę"? Tania? Szybka? £atwa? Raczej nic z powyższego... ale nie znając tego, jak to w tej chwili działa, konkretów nie podam.
Awatar użytkownika
timor
Beginner
Posty: 111
Rejestracja: 18 sierpnia 2009, 23:40

Post autor: timor »

Genobis dobrze napisał. Sam mam jakieś stare dwie bazy MSSQL zainstalowane na jakichś starych Windowsach NT i do puki maszyny nie padną to raczej nie zabiorę się za ich przenoszenie.

Genobis nie wymienił jednego przypadku. Aplikacje .NET-owe mocno integrują się z różnymi rozwiązaniami Microsoftu więc z MSSQL, są w stanie działać natywnie. Natomiast czy to MySQL czy PostgreSQL (też polecałbym tego drugiego - MySQL ma spore braki funkcjonalne w stosunku do MSSQL) mają własne protokoły komunikacji znacząco różniące się od komunikacji z MSSQL. Więc aby aplikacje działały trzeba by je skompilować z bibliotekami klienckimi tych baz danych.
Jeśli te programiki w obecnej postaci nie wspierają innych baz danych to o migracji lepiej zapomnieć (szkoda Twojego czasu).

Pozdrawiam.
ODPOWIEDZ