2009-02-21 16 views
5

Mam zamiar pisać aplikacje dla systemu Windows przy użyciu architektury .NET i C#. Aplikacja będzie musiała przechowywać dane relacyjne, które będą wyszukiwane, łączone i przetwarzane.Opcje bazy danych dla jednego użytkownika

Wcześniej robiłem to za pomocą SQL Server, ale jest to całkowita przesada dla aplikacji, którą teraz robię.

Jaki jest najprostszy i najłatwiejszy sposób przechowywania danych relacyjnych w mojej aplikacji? Gdybym był na Macu, używałbym SQLite. Jaki jest odpowiednik .NET?

Odpowiedz

9

Jeśli używasz VS 2008 i .NET 3.5, możesz użyć SQL Server Compact Edition. W rzeczywistości nie jest to wcale serwer, działa w trybie "pro" z aplikacją i zapewnia podstawową bazę danych SQL. Same bazy danych są pojedynczym plikiem .sdf i są wdrażane wraz z aplikacją. Ponieważ jest częścią struktury, oznacza to również, że nie ma dodatkowej instalacji. Właściwie to nie jest częścią struktury, ale można ją łatwo redystrybuować. Używam programu SQL Server CE do osobistego projektu, nad którym obecnie pracuję, i jak na razie jest świetnie.

+1

Muszę dodać - SQLCE to punkt sprzedaży, gdy zaczniesz go używać. Jest ograniczony, ma poważne błędy w przypadku dużego obciążenia. Nie chcę nawet wymieniać wszystkich błędów wewnętrznych, z których korzystałem przez ostatnie 4 miesiące. Przyszedł przez ten wątek szukając rozwiązania INNE, a następnie SQLCE (3.5). Polecam każdemu, kto potrzebuje niezawodnej lekkiej bazy danych, aby NIE używać CE. Zamierzam trochę teraz ocenić ... ale jestem po prostu zmęczony problemami z CE. Używałem go jako tymczasowego miejsca do przechowywania dużych ilości danych przed umieszczeniem w ostatecznych miejscach odpoczynku ... Dzisiaj - nie mogę tego wytrzymać. Tylko mój .02. – TravisWhidden

-1

Powiedziałbym, że Microsoft Access. Potrzebujesz licencji ...

+1

Access (* .mdb) pliki są nieaktualne pl przestarzała. Nie potrzebujesz jednak licencji, aby użyć bazowej bazy danych MsJet. Tylko dla aplikacji Access. –

+0

Henk, czy masz wzmiankę ze stwardnienia rozsianego, gdzie mówią, że jest przestarzała i nie powinna być już używana? –

+0

@divo, zobacz http://msdn.microsoft.com/en-us/library/ms810810.aspx –

9

SQL Server Express jest tym, czego potrzebujesz. To darmowy IIRC i łatwo skaluje się do pełnowymiarowego SQL Server w razie potrzeby.

+1

I jest dołączony do domyślnej instalacji VS. – Richard

+3

Działa z LINQ-SQL i Entity Framework ;-p –

+0

Express jest dobry, ale nie jest równoważny z SQLite. –

5

Dlaczego nie możesz używać SQLite? Działa na oknach. SQLite Quick start.

także zobaczyć tutaj coraz go do pracy z .NET http://web.archive.org/web/20100208133236/http://www.mikeduncan.com/sqlite-on-dotnet-in-3-mins/

Więc można użyć SQLite, jeśli chciał, ale może jak inni zwrócili uwagę SQL Express jest lepszym rozwiązaniem, ponieważ można uaktualnić do pełnej serwerze jeśli potrzebujesz w przyszłości. Chociaż z tego, co napisałeś, nie wiem, czy to prawdopodobne.

+0

Czy jest jakaś zaleta SQL Lite w porównaniu z SQL Server Compact Edition? – Richard

+0

TBH grał tylko z SQLite w małej ilości. Nie jestem ekspertem od zalety/wady, ale wiem, że działa z .NET – SecretDeveloper

+0

Zaletą SQLite jest to, że możesz wykorzystać doświadczenie wykorzystujące go w tym projekcie do przyszłych projektów Android i IPhone –

0

Jeśli nie sqlserver express, możesz chcieć wesprzeć aparat Microsoft SQL Server Desktop Engine (zmniejszoną wersję sqlserver), który w większości przypadków jest bezpłatny. lub MySQL, który również jest bezpłatny. Podpowiadam mysql.

+0

MySQL ma kilka poważnych problemów, które jeszcze nie być rozwiązany ostatni raz, kiedy sprawdziłem. SQL Server Express (lub MSDE) jest nieskończenie lepszy. – Andrew

+1

Aparat MSDE został zastąpiony przez SQL Server Express. –

+0

MySQL nadal będzie wymagać instalacji serwera i Twojej lewej w gorszej sytuacji na kilka sposobów (narzędzia, dojrzałe funkcje) niż w przypadku korzystania z usługi Express. Dodawałby negatywy bez pozytywów. – SecretDeveloper

3

Sqlite to zdecydowanie najlepsza opcja dla wbudowanej bazy danych do przechowywania aplikacji. To jest szybkie i niezawodne.

3

Sql Server Compact Edition (pliki * .sdf). Wystarczająco mały dla smartfonów, ale również dostępny na pełnej platformie. Wersja .net 2 nosiła nazwę Sql Server Mobile.

Here to porównanie Compact i Express.

1

Możesz używać SQL Lite z .NET. W rzeczywistości, jeśli chcesz zachować swój kod, aby mógł on przetłumaczyć na mono, który obejmuje większość wersji 2.0 (3.5 wciąż nadchodzących), możesz uruchomić swój kod na komputerze Mac, a także, jeśli pozostaniesz przy SQL Lite:

http://mono-project.com/Main_Page

To naprawdę zależy od tego, ile potrzebujesz. SQL Express, o którym wiele razy wspominano w tym wątku, to SQL Server. Ma pewne ograniczenia w stosunku do pełnego SQL Server, ale jest to pełny silnik SQL Server, więc nie jest to wersja lite, chyba że uważasz, że ograniczenie bazy danych do 4 GB czyni ją lekką. Jeśli potrzebujesz cięższych usług, takich jak niektóre Reporting, niektóre kolejkowanie komunikatów (broker usług), to SQL Express 2008 jest Twoim stworzeniem.

Dla lżejszych w świecie MS, można przejść z SQL Compact.Podobnie jak w SQL Lite, ma ograniczony zakres, ale stwierdził, że potrzebujesz lekkiej bazy danych.

Jeśli naprawdę znasz SQL Lite, nie widzę powodu, aby nie podążać w tym kierunku. Dodaj fabrykę do swojego dostępu do bazy danych, na wszelki wypadek, gdy zmienisz zdanie. Wtedy nie będziesz musiał rozdzierać całej aplikacji, aby przełączyć bazy danych.

1

Microsoft Jet Blue.

3

Jeszcze go nie używałem, ale jeśli robiłem aplikację Windows i potrzebowałem funkcji podobnej do tej, użyłbym wbudowanej bazy danych systemu Windows, która jest już na każdym pojedynczym oknie systemu Windows.

http://www.codeplex.com/ManagedEsent

Powiązane problemy