Witam
Planuję pisanie aplikacji bazodanowej i mam do wyboru dwie opcje:
Zaprojektowanie bazy danych w Visual Studio i w kontrolce DataSet oraz serializowanie jej zawartości do pliku lub też zapis danych do pliku XML.
Połączenie programu z serwerem MS SQL
Trochę boję się używania tego serwera SQL, ponieważ nie umiem go obsługiwać, ustawiać uprawnień, tworzyć relacji, kopii zapasowych itd. Zastanawiam się jak zadziała pierwszy sposób który wymyśliłem i jakby radził sobie z rozbudowanymi już bazami danych oraz z obsługą wielu użytkowników (myślałem nad użyciem FileSystemWatchera aby sprawdzić czy plik został zmodyfikowany). Czy ktoś próbował już takich sztuczek?
Z chęcią wysłucham wszystkich podpowiedzi
Do dupy, z tego właśnie powodu powstał bazy danych. Jak danych jest mało, nie ma za bardzo między nimi relacji plus dane są wykorzystywane przez jednego użytkownika i nie ma konfliktów operacji na pliku w tedy można się w takie coś bawić. Oczywiście pod warunkiem że zrobisz to z głową wykorzystując jakieś drzewa binarne czy inne struktury stworzone do przechowywania takich danych.
Jeśli danych będzie niewiele nie ma sensu bawić się w cały serwer bazodanowy i warto użyć np SQLite. Nie wiem tylko czy SQLite jest dostępny pod VB bo to raczej język umierający. Osobiście MS SQL Servera nie lubię i bym go nie używał. Biorąc jednak pod uwagę że tworzysz aplikację w VB to już możesz używać i MS SQL Servera, nawet gdybyś chciał użyć coś innego to chyba nie ma niczego fajnego co szybko da się wdrożyć w sensowny sposób.
EDIT:
Ja bym z problemem poszedł na inne forum gdzie są jacyś ludzie którzy znają się jeszcze na VB i będą w stanie coś sensownego powiedzieć na ten temat.
VB.Net nie jest aż tak wymierający…
po za tym wszystkie biblioteki dla całego frameworka .Net mogą być używane zarówno w C# jak i VB.
Od obsługi SQLite też są już gotowe biblioteki. Po za tym obecnie modne są bazy NoSQL np MongoDB czy CouchDB.
Pchanie się w jakąkolwiek formę zapisu do pliku nie jest dobre, znacznie trudniej będzie Ci to rozwijać gdy wzrośnie ilość użytkowników, a w niezle napisanej aplikacji zmiana SQLite na MS SQL Server to zmiana konstruktora, connection stringa i może kilku specyficznych zapytań.
No to powiedzmy że pomysł serializacji odpada. Co do SQLite to dało by się go połączyć z DataSet tak jak SQL server i używać bez problemu BindingSource i DataGridView? Oraz jeszcze jakby sprawdził się plik MS Accessa? Dał by radę czy też nie ma sensu się w niego pchać?