Laden...

XML, SQL Server Compact oder SQL Server 2008 Express (Programm, Kleinunternehmen)

Erstellt von Sanakei vor 12 Jahren Letzter Beitrag vor 12 Jahren 3.738 Views
Sanakei Themenstarter:in
24 Beiträge seit 2010
vor 12 Jahren
XML, SQL Server Compact oder SQL Server 2008 Express (Programm, Kleinunternehmen)

Hallo zusammen,

ich wurde von der Firma in der ich schon 1-2 C# Programme zur Officeverwaltung geschrieben habe beauftragt im Rahmen meiner Bachelor Thesis, einen abgespeckten bzw. minimalisierten Mix aus Dokumentverwaltung, Prozessübersicht und Vorlagenprogramm zu schreiben.

Ich hab nun das Problem, dass ich für dieses Programm die Daten irgendwie speichern muss, so dass mehrere Arbeitsplätze gleichzeitig darauf zugreifen können.

Die Daten sollen grob wie folgt aussehen.

Oberkategorie: Bezeichnung, Erklärungstext
--Unterkategorie: Bezeichnung, Erklärungstext
----Dateiliste: (Pfad, Typ)
----Vorlagentexte: (Text)

Wobei es x Oberkategorien mit y Unterkategorien mit jeweils z Dateipfaden und q Vorlagentexte geben soll.

Hoffe ist einigermaßen verständlich.

Ich habe bei den Überlegungen eher zu einer Dateibasierten Datenbank ala XML Datei bzw SQL Server Compact Datei gedacht, jedoch müssten mehrere Computer gleichzeitig auf diese Datei zugreifen welche dann vermutlich im Netzwerk liegt und ich habe gelesen dass dies nicht ohne weiteres möglich ist oder?

Am liebesten hätte ich SQL Server 2008 Express, jedoch müsste hierbei noch die Investition für Visual Studio 2010 getätigt werden da momentan mit Visual C# Express programmiert wird.
Daher würde ich gerne ein Dateibasiertes speichern verwenden und SQL Server 2008 nur empfehlen, wenn es nicht anders geht.
Das ganze ist zeitlich streng limitiert daher muss es ebenfalls auch schnell umsetzbar sein.

Mit XML als Database habe ich bisher keine bis wenig Erfahrung, habe jedoch schon mal ein Programm geschrieben welches SQL Lite beinhaltete.

Was währe hier wohl das beste vorgehen, bin momentan trotz diverser durchgelesen Einträge und How To's etwas ratlos.

Vielen Danks schonmal

F
84 Beiträge seit 2008
vor 12 Jahren

Was spricht dagegen mit dem SQL Express 2008 zu kommunizieren asu der Visual Studio Express Edition heraus?

Edit:

Grundsätzlich zum Thema.
Wenn mehrere Personen auf eine Datei Zugreifen wollen, führt das unweigerlich zu Problemen.
Allein der Fall das nur 2 Personen etwas speichern wollen.

Eine relationale Datenbank bietet sich hier, sowie in den meisten Anwendungsszenarien, sehr gut an meiner Meinung nach.

In einer Dot Net Pro Ausgabe gab es mal einen langen Artikel über Objekt Datenbanken. Eventuell danach mal googlen, da kann ich leider keine Auskunft geben.

C
1.214 Beiträge seit 2006
vor 12 Jahren

Eine Datenbank bietet sich dafür schon an. Der Sql Server Express reicht völlig aus, genauso wie Visual C# Express. Verstehe nicht, warum du von Investitionen sprichst.
Der Sql Server CE ist eine Embedded Datenbank, also bräuchtest du noch einen Application Server. Das kann sich je nach Aufgabenstellung auch anbieten. Würde aber eher zu einer "normalen" Datenbank tendieren, das hört sich jetzt für mich nicht nach einem Fall für eine Embedded Datenbank an.

3.825 Beiträge seit 2006
vor 12 Jahren

Ich würde wie fod auch SQL Server Express und Visual Studio Express empfehlen.

Bei "kleineren" Datenbanken wie XML und SQL Compact handelst Du Dir Probleme ein wenn mehrere User auf die Daten zugreifen wollen.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

Sanakei Themenstarter:in
24 Beiträge seit 2010
vor 12 Jahren

Investition deswegen weil ich bei der Visual C# Express Edition einen SQL Server gar nicht als Datenquelle einstellen kann.

Gibt es da einen Workaround oder wie meint ihr das dann?

M
46 Beiträge seit 2010
vor 12 Jahren

Moin moin,

@Sanakei
Man kann in der Express Version von Visual Studio auch SQL Server Express als Datenquelle hinzufügen ohne Probleme.
Und allgemein schließe ich mich auch meinen Vorrednern an, dass sich hier eine Datenbank am besten eignet.

MFG.
Mr. Bob

F
84 Beiträge seit 2008
vor 12 Jahren

Die Verwendung und Kompatibilität der Express Versionen ist von Microsoft doch explizit gewünscht 😃
Eventuell fehlt eine Komponente, aber das funktioniert grundsätzlich.

Und selbst wenn nicht, besteht immernoch die Möglichkeit eine Verbindungsklasse zu programmieren die dich mit dem SQL Server (und auch allen anderen Datenquellen) verbinden kann.

Sanakei Themenstarter:in
24 Beiträge seit 2010
vor 12 Jahren

Moin moin,

@Sanakei
Man kann in der Express Version von Visual Studio auch SQL Server Express als Datenquelle hinzufügen ohne Probleme.

Dann stelle ich und diverse andere Leute im Internet sich entweder total blöd an oder es geht wirklich einfach nicht.

Siehe:
C# Express ADO.NET Datamodell-Datenquelle:SqlServer ist nicht da

Ich fänds schade wenn ich nun alles von Hand machen müsste da dies die verwendete Zeit doch ein gutes Stück erhöht wenn man dies so noch nicht großartig gemacht hat.

Im Anhang auch mal die Liste der zur Verfügung stehenden Datenquellen im Visual C# Express.

F
10.010 Beiträge seit 2004
vor 12 Jahren

Richtig und SqlServer Datenbank Datei ist ein MDF die per AttachDbFile an den Sql Server Express gebunden wird.

Zur Erstellung der typisierten DataSets ist das doch OK.
Wenn du dann Auslieferst musst du nur den Connectionstring anpassen.