Programm konfiguration???
-
Hi Leutz,
wie es bei Anfängern nun einmal ist haben die manchmal Fragen. Nun ist es mal wieder soweit.
Schreibe ein Prog mit Datenbankanbindung über ADO. Nun da das Prog später mal auf versch. PCs im Netzwerk laufen soll(Datenbank auf dem Server) will ich die möglichkeit schaffen das wenn das Programm das erste mal aufgerufen wird, der ODBC-Eintrag gesetzt wird und ein Konfiguratiuonsfentser aufgerufen wird indem ich den Pfad zur Datenbank angeben kann. Auserdem muss dann der eintrag automatisch in der ODBC geändert werden. Den Pfad der Datenbank würde ich gerne in einer INI speichern, wo dan evtl noch andere Konfigurationseinstellungen gespeichert werden sollen.
Nun meine Fragen:
1.)Würdet ihr das auch so machen oder anders?
2.)Zu dem automatischen einrichten der ODBC findet man zwar einiges in der Suchfunktion, aber ich komme damit nicht zurecht, wie geht das?
3.)Wie mache ich es genau das der User den pfad zur Datenbank (Windows "Öffnen-Menü") auswählen kann, und der eintrag dan in einer INI gespeichert wird, und in der ODBC geändert wird.
4.) Wie progge ich es am besten ob das Programm zum ersten mal gestartet wurde oder schon öffter?
5.) Muss ich irgend was beachten, wenn das Prog später Netzwerkfähig sein soll(Zugriff vom Client auf die DB auf dem Server).
Für kommentierte Code beispiele bin ich sehr Dankbar, und wenn ihr mir nur Stichpunkte nennen könnt wäre ich auch dankpaar.
Im Vorraus vielen Dank
-
sorry aber eine frage....was davon hast du schon gemacht bzw. angefangen?
also wenn man deine fragen mit code beantworten würde, hättest du fast ein fertiges programm!
welche datenbank nimmst du denn?
"...Muss ich irgend was beachten, wenn das Prog später Netzwerkfähig sein soll(Zugriff vom Client auf die DB auf dem Server). ..."
hängt ganz von deiner db ab. wieviel client greifen denn später auf die db zu. wie willst du das handeln? also gleichzeigtigen zugriff verhindern sprich lock table. aber da gibt es noch ne menge mehr zu beachten....
du willst die daten in einer ini datei abspeichern...dann hoff ich nur das alle clients immer als administrator eingeloggt sind! probier mal aus was passiert wenn das nicht der fall ist.
"...Wie progge ich es am besten ob das Programm zum ersten mal gestartet wurde oder schon öffter? ..."
Was meinst du denn damit? meinst du mehrfachstart verhindern? oder was genau meinst du?
ciao
-
Als Datenbank habe ich ACCESS. Maximal greifen 5 Clients zu. Alle Clients sind als Admin gelogt, und die Ini-Dateien sollen auf den Clients gespeichert werden.
Wegen dem Progstart:Ich will beim programm Start kontrollieren, ob die verbindung zur DB aufgebaut werden kann, ist das nicht der fall soll ein Konfigurationsfenster aufgehen, indem der User den pfad zur DB anpassen kann.
-
hallo,
das mit der verbindung kannst du wunderbar in einer exception prüfen, wenn eine verbindunge aufgebaut werden kann ist allse ok, anderfalls wird der catchblock durchlaufen, im catchblock wird dann das konfig-fenster aufgerufen...
try { ADODatabase1->Connected = true; //pseudocode ... } catch (...) { KonfigForm = new TKonfigForm(this); KonfigForm->ShowModal(); }
aber bei 5 usern kann access schon problematisch werden. vor allem wenn die gleichzeigit auf die selben tabellen zugreifen. ausserdem ist bei ado die netzwerklast unerhöht hoch. lass mal deine testdatenbank laufen und kontrolliere mit nem netzadmin-tool den netz-traffic, bei 5 usern zwar noch nicht so brutal, aber bei mehreren könnte sogar das netz in die knie gehn. es wäre vielleicht eine überlegung wert, das ganze gleich mit hand und fuß zu machen und einen richtigen sql server einzusetzen. mein ehemaliger chef wollte auch mal eine sehr schnelle lösung, klappte anfangs auch ganz gut, dann sollte das datenbanktool aber von allen mitarbeitern verwendet werden, da sind die sonderbarsten dinge geschehen, also das ding dann fast fertig war, kam der chef und meinte es wäre doch besser einen sql-server zu verwenden und wollte das wir das ding nach oracle portieren, also aufwand hat er zwei wochen geschätzt...
mfg
murph