Jak przej
Jak przejść ze środowiska mssql na opensource
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
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.
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.
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.

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.
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.
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.