Mehrfachzugriff Datenbank wie realisieren?

trixzer

Benutzer
Beiträge
14
Guten Tag liebe Forenmitglieder,

ich habe da mal eine (wohl für euch) relativ einfache Frage. Ich arbeite derzeit an einem Projekt und nutze darin eine Datenbank. Zu beginn des Projektes habe ich mich einfachheitshalber für Access entschieden, da ich mir nicht sicher war ob ich überhaupt in der Lage sein werde die Software selber schreiben zu können. Das ganze hat gut geklappt. Ich habe mich relativ viel mit den nötigen SQL Befehlen auseinander gesetzt und konnte ein -für mich gut lauffähiges Programm schreiben, welches meine Erwartungen erfüllt. Nun kurz vor der Realisierung stehe ich vor einem kleinen Problem. Und zwar muss das ganze auf einer Art Client - Server Modell aufgebaut werden. Das bedeutet, dass ein Rechner bei mir Zuhause ist und auf die Datenbank Zugreifen muss, wie auch ein Rechner der entfernt ist.

Ich weiß nun nicht wie ich ein solches Modell realisiere bzw. ob es überhaupt möglich ist dieses mit Access zu realisieren. Da ich Student bin und Zeit habe würde ich mich auch in alternativen einarbeiten.

Derzeit läuft es so, dass ich eine Accessdatenbank erstellt habe, darauf per ODBC (das muss auch so bleiben, da ich mit Labview programmiere und das die Schnittstelle ist um mit der Datenbank zu kommunizieren, aber das sollte ja kein Problem sein weil das mit jeder Datenbank so möglich ist oder?) Zugreife und verwalte. Jetzt muss allerdings noch ein entfernter Rechner auf genau diese Datenbank zugreifen können. Zu beginn dachte ich vllt. die Datei irgendwie auf einen Webspace zu legen und so darauf zuzugreifen, aber das funktioniert leider nicht.
Ich vermute, dass jenes Problem mit anderen Datenbanken besser zu lösen ist. Leider habe ich hier keinerlei Erfahrungen und erhoffe mir hier ein wenig Hilfe. Der entfernte Rechner ist auch dauerhaft an und könnte theoretisch als eine Art "Server" dienen.

Ich hoffe ihre versteht mein Problem und könnt mir eine Anlaufstelle geben.


Vielen Danke,

Mit freundlichen Grüßen
Kevin
 
Werbung:
Ich weiß nun nicht wie ich ein solches Modell realisiere bzw. ob es überhaupt möglich ist dieses mit Access zu realisieren. Da ich Student bin und Zeit habe würde ich mich auch in alternativen einarbeiten.

Du nimmst eine 'richtige' DB wie z.B. PostgreSQL. Auf diese kannst Du auch via ODBC zugreifen. Die DB kannst Du auch bei einem Hoster laufen lassen, z.B. bei uns.
 
Hallo akretschmer,
danke für die Hilfestellung. Um die Kosten klein zu halten, könnte ich diese Datenbank auch auf einem Rechner installieren und dann von dem anderen darauf zugreifen?
 
Hallo akretschmer,
danke für die Hilfestellung. Um die Kosten klein zu halten, könnte ich diese Datenbank auch auf einem Rechner installieren und dann von dem anderen darauf zugreifen?

Sicher. PostgreSQL ist BSD-Lizenz und somit vollständig kostenfrei nutzbar. Was Du brauchst ist ein Rechner, der halt im Internet erreichbar ist. Das ist mit einem Home-Anschluß eher nicht so doll machbar.
 
Wie meinst du das "mit einem Home Anschluss nicht so machbar"? Ich kann doch dann einfach eine dyndns vergeben oder nicht?

ja, sicher. Kommt halt drauf an, wie verfügbar das sein muß und was Du an Bandbreite und so hast bzw. brauchst. So eine 'Frickellösung' mit dyndns funktioniert sicher, sicher aber nicht so wie ein System bei uns mit redundanter Internetanbindung im 3-stelligen GBit-Bereich...
 
Achso, ja hier geht es wirklich nur um paar wenige Einträge in der Woche, die DB wird jetzt nicht durchgehend Abgefragt und belastet. Ich danke dir vielmals, ich habe nun eine Anlaufstelle wo ich mich einarbeiten kann. Sollte ich noch weitere Fragen haben melde ich mich.

Vielen Dank!
 
Und Dir muss klar sein, dass SQL und die Datentypen zwar standardisiert sind, aber bis zu einem gewissen Maß jeder Hersteller sein eigenes Süppchen kocht.

Wenn Du Deine Anwendung nicht von vornherein so geschrieben hast, dass Du mehrere Datenbanksysteme im Auge hattest, ist die Wahrscheinlichkeit hoch dass der eine oder andere SQL-Befehl gar nicht funktioniert (gut, das lässt sich ausbessern) oder falsche Ergebnisse liefert (schlecht, ohne ausgiebige Tests wirst Du das erst spät im Echtbetrieb finden).
 
@Walter ja das habe ich mir schon fast gedacht aber das sollte kein Problem sein, habe mir das so eingerichtet, das ich die Befehle ohne Probleme ändern kann.

So aber jetzt bin ich hoffnungslos am verzweifeln. Habe mir schnell auf nem Raspberry Apache und Myql installiert um zu testen. Verbindung über ODBC kann ich herstellen. So, aber nur über die 64 Bit Datenquellen Anwendung. Ich muss allerdings eine Verbindung über die 32 Bit Anwendung herstellen, da ich mit 32 Bit Software arbeite. Jetzt ist mein Problem nur, dass wenn ich unter System-DSN (in der 32 Bit Anwendung -> obdcad32-exe *32) den Microsoft ODBC for Oracle auswähle bekomme ich folgende Fehlermeldung:

"Die Client- und die Netzwerkverbindung von Oracle(tm) wurden nich gefunden. Diese Komponenten werden von der Oracle Corporation geliefert und mit der Clientsoftware vom Oracle, Version 7.3 (oder höher) installiert. Sie müssen diese Komponente installieren, um den Treiber verwenden zu können."

Also langsam verzweifel ich wirklich. Hänge da jetzt schon einige Stunden dran, um das Problem zu lösen, leider ohne Erfolg. Die Oracle Seite ist total unübersichtlich und ich habe nicht wirklich Ahnung was ich da jetzt benötige... ich hoffe ihr könnt mir da weiterhelfen...
 
So aber jetzt bin ich hoffnungslos am verzweifeln. Habe mir schnell auf nem Raspberry Apache und Myql installiert um zu testen. Verbindung über ODBC kann ich herstellen. So, aber nur über die 64 Bit Datenquellen Anwendung. Ich muss allerdings eine Verbindung über die 32 Bit Anwendung herstellen, da ich mit 32 Bit Software arbeite. Jetzt ist mein Problem nur, dass wenn ich unter System-DSN (in der 32 Bit Anwendung -> obdcad32-exe *32) den Microsoft ODBC for Oracle auswähle bekomme ich folgende Fehlermeldung:

Nu weil Oraggle und MySQL aus demselben Hause (jetzt, früher nicht) stammen heißt das nicht, daß deren Komponenten auch zusammenpassen. Erwartest Du ernsthaft, einen Mercedes-LKW-Motor in einen Mercedes-A-Klasse eingebaut zu bekommen?

Du wirst Dich wohl schon um einen MySQL-ODBC-Treiber kümmern müssen.
 
Oh man ey, manchmal ist es einfach besser schlafen zu gehen und am nächsten Tag weiter zu kämpfen. Heute morgen auf Anhieb Treiber gefunden und alles läuft. Ich danke euch für eure Hilfe!
Ich habe noch eine Frage, ich versuche gerade über mein Programm einen Datensatz aus einer Tabelle in eine andere zu verschieben. Dafür benutze ich folgende Befehle:

INSERT INTO abschluss SELECT * FROM Res WHERE Reservierung = '.............'
DELETE FROM Res
WHERE Reservierung = '.............';

Wenn ich das über phpmyadmin ausführen lassen klappt das ohne Probleme. Über mein Programm meldet der Treiber folgenden Fehler:

[MySQL][ODBC 5.1 Driver][mysqld-5.5.41-0+wheezy1]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELETE FROM Res
WHERE Reservierung = '201526120208'' at line 2

Woran liegt das? Kann ich nur einen Befehl abschicken?

Ich danke euch vielmals!
 
Werbung:
Zurück
Oben