2010-08-02 4 views
6

Ich habe derzeit eine Access-Datenbank. Es gibt ein Backend, und es gibt mehrere Benutzer, die diese Datenbank mit ihrem eigenen Frontend verwenden. Die Größe der Daten ist sehr klein; Es gibt jedoch mehrere Formen, die ständig verwendet werden.sollte ich ein Access-Front-End oder C# Front-End schreiben?

Ich muss die Daten zu MySQL migrieren. Sollte ich weiterhin ein Access Frontend verwenden oder mein eigenes C# Frontend programmieren? Warum sollte man dem anderen gegenüber besser sein?

+4

das hängt alles ab: auf Budget, Ihre aktuellen Fähigkeiten, Anzahl der Formulare ... –

+1

Wenn Sie "C# Front-End" sprechen Sie sprechen WinForms, WPF, ASP.NET WebForms, ASP.NET MVC oder Silverlight? –

+0

jesse, wahrscheinlich winforms, das einfachste möglich! –

Antwort

7

Ich denke, Sie sind entweder völlig verrückt oder wissen nichts über Access.

Es ist sicherlich richtig, dass die Upsizing-Tools für SQL Server einfacher zu verwenden sind als alles, was Ihnen für Upsizing auf MySQL zur Verfügung steht. Aber die Schwierigkeit des Upsizing sollte nicht die Wahl des Backends beeinflussen, da es eine einmalige Entscheidung ist. Wählen Sie Ihre Backend-Datenbank basierend darauf, was für Sie am besten funktioniert. Während SQL Server Express kostenlos ist, hat es eine Reihe von Einschränkungen, die MySQL selbst nicht hat.

Wie ich in Kommentaren gesagt habe, können Sie eine Access-Tabelle in MySQL exportieren, indem Sie einen DSN für Ihre MySQL-Datenbank definieren und einfach den EXPORT-Befehl im Access-Menü verwenden. Die Ergebnisse sind nicht unbedingt perfekt, daher müssen Sie möglicherweise die Ergebnisse optimieren, die MySQL-Tabelle abschneiden und dann die echten Daten einfügen, sobald alle MySQL-Tabellen vorhanden sind. Ja, das ist mehr Arbeit als die SQL Server-Upsizing-Tools, aber es ist immer noch ziemlich einfach zu tun.

Und es ist nicht etwas, das Sie auf Anhieb erhalten müssen, noch müssen Sie es mehrfach tun.

Wenn MySQL Ihre bevorzugte Datenbank-Engine für Ihre App ist, dann gehen Sie mit. Die Verwendung von SQL Server wegen der komplizierteren Upsizing-Tools ist wirklich ein Fall von Schwanz wedeln mit dem Hund!

+0

Ich habe gerade einen ODBC-Export nach PostGreSQL versucht. Mein Primärschlüsselfeld für die automatische Nummerierung wurde zu einer PostGres-Ganzzahl anstelle von seriell und hatte keine Primärschlüsseleinschränkung. Indizes auf anderen Feldern wurden nicht übertragen. Dennoch mag ich deinen Vorschlag, weil ich die DDL abrufen, sie bei Bedarf ändern, die Tabelle löschen und neu erstellen kann. Das ist ein großer Gewinn für mich, verglichen mit der Neugründung in PostGres. Vielen Dank. Ich bin neugierig, gibt es weniger Feinabstimmungen, wenn Sie nach MySQL exportieren? – HansUp

+0

Es hängt von der Version von MySQL ab. Ich habe es nicht sehr oft gemacht, also habe ich keine wirklichen Details. Die SQL Server-Upsizing-Tools können die Datentypen auch falsch abrufen, so dass es wirklich kein Problem ist, scheint mir. –

4

Ich würde die Migration zu SQL Server anstelle von MySQL empfehlen. Sie können die Access-Datenbank einfach auf SQL Server aufrüsten und die Datenlast bewältigen. Zugriffsformulare können weiterhin Ihr Frontend sein.

Per David Fenton unten in den Kommentaren: "Upsizing ist eine einmalige Operation und die Leichtigkeit des Tuns sollte nicht die Wahl der Back-End fahren." Ich denke, das ist ein gutes Argument. Ich empfehle SQL Server für die einfache Upsizing und vorhandene Tools, aber diese Widerlegung bringt MySQL zurück ins Bild für mich.

+2

+1: SQL Server Express ist kostenlos und [2008 R2 unterstützt Datenbanken ab 10 GB] (http://www.microsoft.com).com/express/database /) –

+0

warum sagst du sql server anstelle von mysql –

+0

Weil du upsize Access auf SQL Server leicht upgraden kannst. Auf diese Weise behandelt SQL Server alle Datenaufgaben. Access wird zu einer bloßen Benutzeroberfläche. – duffymo

0

Wenn Sie anstelle von MySQL zu SQL Server migrieren, können Sie Ihr Front-End in C# entwickeln und dafür die integrierten LINQ-Funktionen für den Zugriff auf Ihre Daten verwenden. Viel einfacher und erfreulicher als Access-Front-End mit Visual Basic für Applikationen ;-)

+1

C# ist sehr viel einfacher als Access? Bitte erläutern Sie das viel genauer. –

+1

Wenn Sie keine der beiden Sprachen kennen, empfehle ich, C# über VB für Apps zu lernen. Seien Sie nicht verwirrt, VB für Apps unterscheidet sich (sehr) von VB.NET. Es ist keine Frage von "viel einfacher", aber C# ist stärker und stärker als VB für Apps, und ja, IMO C# ist einfacher zu erlernen und zu verwenden als VB für Apps. – Lester

3

Das Umschreiben des Frontends wird dieses Projekt komplizierter machen, nicht einfacher. Migrieren Sie zuerst das Backend und dann, ob die Benutzeroberfläche neu geschrieben werden muss. Möglicherweise müssen Sie einige Codeänderungen vornehmen, um Access an die neue Back-End-Datenquelle anzupassen. Dies wird jedoch weitaus weniger Aufwand erfordern als ein vollständiges Neuschreiben.

Verwandte Themen