steff3 hat gesagt.:
ich möchte auf eine datenbank zugreifen die auf einem server liegt und das ganze über das netztwerk
muss ich dann einen client programmieren der das zu einem empfänger auf dem server schickt und dann in die datenbank einträgt oder kann ich gleich die daten über das netzwerk versenden und in die datenbank eintragen?
Wie die Vorredner gesagt haben, geht der Zugriff über JDBC-Treiber. So ziemlich jede bekanntere DB bietet diese Trieber an. Das Problem ist, wie auch schon angedeutet worden ist, nicht die Perfomance - das geht prinzipiell recht gut, sondern die Sicherheit. Einerseits auf den Clients, die evtl. einen speziellen Port offen halten müssen und dann auf dem Server. Wenn du dabei auch noch auf die Middleware aus Zeitgründen oder Perfomanceüberlegungen verzichtest, borst du ein Loch direkt in deine DB.
Der Zugang zur DB ist in dem einfachsten Fall in deinem Quellcode drin und kann somit von jedem ausgelesen werden und die Kommunikation zwishen der DB und Client ist im einfahcsten Fall unverschlüsselt bzw. der Passwort geht im Klartext über die Leitung. Wenn der User für den Client mehr Rechte als nötig hat, gibst du imGrunde die Kontrolle über die DB an die ganze Welt draussen frei.
Es ist möglich eine solche Architektur sicher zu machen, aber du muss dir einige Gedanken darüber machen, wie man dies durchführt und eine geeignete Datenbank haben. Z.B. PostgreSQL bietet Passwortaustausch nmit Tokens und eine Übertragung via SSL ist prinzipiell möglich. Dann müsstest du überlegen, welche Rechte auf welche Tabellen du dem Client geben kannst, wie du diesen Zugang dem Cleintuser mitteilst, damit dieser nicht im Code auftaucht und ob du zwischen einzelnen Clientusern unterscheiden willst und deren Aktionen loggst bzw. gefährliche Operationen durch Trigger und Rules abfängst.
Kurz gesagt - für den Testbetreib ist die Sache mit wenigen Codezeilen funktionstüchtig für einen dauerhaften Einsatz müsste man sich einges überlegen.