2008-09-08 4 views
9

HALLO Alle,Bereitstellen von MySQL Server + DB mit Net-Anwendung

Wir haben eine .NET 2.0-Anwendung, die einen MySQL-Backend hat. Wir möchten MySql und die DB bei der Installation der Anwendung bereitstellen und versuchen, die beste Lösung zu finden. Das aktuelle Setup besteht darin, die erforderlichen Dateien in einen Ordner auf dem lokalen Computer zu kopieren und dann einen "NET START" -Befehl auszuführen, um den mysql-Dienst zu installieren und zu starten. Dann stellen wir eine Sicherung der Datenbank in dieser neu erstellten mysql-Instanz mithilfe von bat-Dateien wieder her. Es ist keine ideale Lösung und ich versuche, etwas robuster zu finden.

Die Probleme sind Benutzerrechte auf Vista und alle möglichen kleinen Dinge rund um die Installation und den Start des Dienstes. Es ist viel zu zerbrechlich, um zuverlässig zu sein, oder zumindest scheint es so, wenn ich es teste. Dies ist ein Client/Server-Typ-Setup, so dass wir nur einen Server pro Büro installieren müssen, aber ich möchte sicherstellen, dass es so problemlos wie möglich und mit so wenigen Bildschirmen wie möglich ist.

Wie würden Sie es tun?

Antwort

5

Nicht sicher, wo Sie im Projekt sind, aber wenn es sich um eine einfache und kleine Datenbank handelt, können Sie sie in SQLite konvertieren. Es ist nicht ideal für Client/Server-Operationen, aber wenn es wenig Volumen/Transaktionen gibt, könnte es funktionieren.

3

Verwenden Sie ein Installationsprogramm mit einem ausgearbeiteten Skript. Jeder Installer wie Wise, InstallShield, InnoSetup, etc. wird wahrscheinlich tun.

0

Mit einem Client/Server-Setup können Sie festlegen, dass derjenige, der den Server installiert, die Installation als Administrator vornimmt. Das sollte die meisten Ihrer Probleme lösen.

Wieder- das ist der Server. Die Kunden könnten eine andere Geschichte sein.

3

Wir haben einen anderen Ansatz gewählt. Wir machen MySQL xcopy-fähig, indem wir vor dem Aufruf von MySQL einen Wrapper zum Generieren der Konfigurationsdatei (my.ini) schreiben (um den Basispfad korrekt einzurichten usw.). Dann haben wir einen anderen Dienst geschrieben, der mit dem Standard-Setup installiert wurde. Dieser Service kümmert sich um den Start von MySQL und anderen erforderlichen Hintergrundprogrammen (in unserem Fall Apache) für uns. Da MySQL von uns bereitgestellt wird, wollten wir die volle Kontrolle darüber haben.