Hallo,
ich plane derzeit eine Software, die die Arbeit mehrerer Mitarbeiter einteilt, je nach Auftrag der Kunden. Es soll Kollisionen bei der Bearbeitung mehrerer Aufträge erkennen, einen Auftrag auf mehrere Tage verteilen können und Urlaub einteilen können etc.. Da die Daten an mehreren Rechnern eingegeben werden, sollte es ein Netzwerkfähiges Programm werden.
Das Programm selbst soll koordinieren wann welcher Mitarbeiter für welche Arbeit (mit Angabe des Kundens) eingeplant ist. Ich hatte nun vor, auch wenn ich so etwas vorher noch nie realisiert habe, das ganze als Server Client Architektur aufzubauen.
Zuerst dachte ich das alles in ein zentrales textfile zu schreiben, was aber natürlich sehr ineffizient wäre und vorallem sollen meherere Benutzer gleichzeitig auf die Daten Zugriff haben. Dazu wollte ich nun einen MySQL Server auf einem rechner im Netzwerk laufen lassen. Alle anderen Rechner sollen ein in VB .Net programmierten Client bekommen, die die Datenbank auslesen und manipulieren können. Meine Fragen:
1. Ich habe weder jemals einen SQL server installiert und eingerichtet noch habe ich jemals eine Netzwerkanwendung in VB .Net geschrieben.
--> Ich habe mich über Winsock Programmierung informiert, ist das der richtige ansatz um vom Client an den Server zu kommen? Ado.Net (als stichpunkt zur Datenbankanbindung)?
2. Wie richte ich den Server ein? (Und die Tabellen?) Wie läuft das mit den ODBC Treibern, müssen die auf allen clients installiert werden?
3. Sollte ich ebenfalls ein Serverprogramm als zwischenstück von Datenbank und Clients programmieren oder die Clients direkt auf die Datenbank zugreifen lassen?
4. IST DER GESAMTE ANSATZ ÜBERHAUPT SINNVOLL?
Gibt es vielleicht irgendwelche Tutorials oder wisst ihr wo ich brauchbare infos finde oder kann jmd das zusammenspiel (Datenbank, DBMS,Server,Client in Bezug auf Netzwerk und VB.Net) einmal kurz erklären?
Ich finde vieles zu Netzwerk und zur Datenbankprogrammierung aber nicht in Kombination :(
Danke im Vorraus
Gruß
Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge
Hi!
Dein Ansatz ist schon soweit (und grob betrachtet) ok. Immerhin wird er von den ganzen "dicken" Paketen, die firmenweit eingestetzt werden genutzt (SAP, Navision, SSA/Baan, P2plus, Oracle usw.).
Die Art der Produktionsplanung und Steuerung, die dir letztendlich vorschwebt, trennt allerdings die Dateneingabe noch zusätzlich von der Verrechnung. Ich wiess nicht, ob dir das schon klar ist: wenn du die Berechnung vom Client durchführen lassen würdest, müssten alle Daten über's Netz. Zusätzlich hättest du noch Probleme, wenn zwei Leute die Verrechnungen parallel anstossen und andere noch Daten hinzufügen.
Die Lösung dieses Dilemmas ist daher i.d.R. noch Programme oder Routinen auf dem Server einzurichten. In der Praxis trennt man dabei die Datenerfassung von der Verrechnung. Die Clients erfassen dann Daten wie Aufträge oder die Kalenderdaten der Mitarbeiter (aus den Kalendern geht hervor, wann wer da ist). Zu gewissen Zeiten wird dann auf dem Server ein Programm angestossen, dass dann die Verrechnung durchführt und die Produktion plant (Batchlauf).
Was die Datenbankinstallation auf dem Server angeht, würde ich nach entsprechenden Tutorials suchen. Das ist ja schliesslich eine Aufgabe, die schon andere lösen mussten. ;-)
Gerade vom MS SQL-Server gibt es ja die Express-Version (kostenlos). Da dürfte MS auf den Supportseiten auch Tutorials bereitstellen. Bei Oracle wird das mit der kostenlosen Testversion auch so sein.
Je nach VB.Net-Umgebung, werden bestimmt native Datenbanktreiber mitgeliefert, so dass man sich um die Einrichtung von ODBC-Treibern keine Gedanken machen muss. falls doch, dann steht bestimmt in einem Tutorial, wie es geht. ;-)
Meine Suche nach Tutorials zum Thema "Zugriff auf SQL-Server unter VB-Net" würde so starten: http://www.google.de/search?hl=de&q=sql-server+zugriff+vb.net&btnG=Suche&meta=
Über konkrete Fragen zum Design der Tabellenstruktur sollte man sich auch noch vor dem Start unterhalten. Ohne saubere Planung in diesem bereich, kann es hinterher haarig werden. ;-)
Bis dann
Andreas