JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich!

Diskutiere JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! im Developer Network Forum im Bereich Hardware & Software Forum; Hallo an das Forum. Ich habe eine kleine Applikation geschrieben, mit der ich mich mit meiner Datenbank verbinden möchte, um halt sachen...
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #1
rohamis

rohamis

Bekanntes Mitglied
Dabei seit
05.10.2006
Beiträge
121
Reaktionspunkte
0
Ort
DE - NRW
Hallo an das Forum.

Ich habe eine kleine Applikation geschrieben, mit der ich mich mit meiner Datenbank verbinden möchte, um halt sachen hochzuladen. :victory:

Die Datenbank ist leider bei strato.de. :no:
Und ich sage leider weil: Ich bekomme den Fehler:
"java.net.ConnectionException: Connection refused"

Habe mich mit Strato.de in Verbindung gesetzt, und die meinten das hier zu mir:
"Die Verbindung von Ihrem lokalen Rechner zur Datenbank ist leider nicht möglich. Diese kann aus Sicherheitsgründen lediglich über das Webhosting-Paket hergestellt werden."

Auch dass man per Konsole (Windows/cmd, oder Linux etc etc) nichts machen kann.
Also, ich wollte fragen, gibt es da etwas wie ich nun dieses Problem umgehen kann? Also vielleicht irgendwie in meinem Strato account einloggen, und dann von da aus was machen, aber halt das alles in dem Java-Code Programm, weil darum geht es ja, ich möchte diese Applikation aufmachen und schon verbunden zu sein, um dann ne datei hochzuladen.

Danke :kaffeepc:
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #2
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Wenn Strato das nicht erlaubt, hast du da schlechte Karten. Bei Webhostern ist die Datenbank zur Verwendung von der Webseite aus (PHP, ASP & Co.) gedacht. D.h. der Datenbankserver akzeptiert sinnvollerweise nur Verbindungen von deren eigenem Webserver aus. Das lässt sich kaum umgehen.
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #3
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Wenn's normaler Webspace ist, hast Du keine Chance. Ist aus Sicherheitsgründen auch gut so.
Die Alternative wäre ein (Virtual-)Root-Server. Da kannst Du Deine eigene Datenbank installieren und die Ports nach außen reichen. Wenn's sicher sein soll, per VPN.

Ich weiß ja nicht, ob Du wirklich eine Datenbank brauchst oder nur eine bessere Dateiablage. Sonst kannst Du auch per http auf Deinen Webspace zugreifen. Per PUT kannst Du auch Dateien hochladen. Muß nur der Webserver entsprechend konfiguriert sein.
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #4
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

warum sollte das nicht gehen? Alles was Du im Browser machen kannst, kannst Du letztendlich auch ueber irgendeine Applikation machen. Lausch halt mal mit, was da so ueber die Leitung geht.

Ist halt viel groesserer Aufwand als wenn Du direkten Zugriff haettest aber gehen wird das grundsaetzlich.

Gruss, FFNB.
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #5
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Weil nicht der Browser auf die DB zugreift, sondern der Prozess vom Webserver.
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #6
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

Weil nicht der Browser auf die DB zugreift, sondern der Prozess vom Webserver.
ja und? Wo siehst Du jetzt die unueberwindbare Huerde? Alles was er mit dem Browser machen kann, kann er auch programmatisch mit java abfackeln.

Und um Missverstaendnissen vorzubeugen: nein, ich meine nicht via JDBC.

Gruss, FFNB.
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #7
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Darin, dass der Datenbank-Server des Anbieters nur Verbindungen vom eigenen Webserver akzeptiert und von keinem anderen Rechner. Das Problem ist also entweder die Firewall des Providers oder die Möglichkeit, dass der DB-Server von außerhalb des internen Netzes des Providers überhaupt nicht erreichbar ist.
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #8
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

natuerlich ist der DB-Server von aussen zugreiffbar... und zwar ueber den Browser. Dann muss man eben seine DB-Anfragen ueber http bzw https senden und nicht direkt via JDBC.

Gruss, FFNB.
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #9
rohamis

rohamis

Bekanntes Mitglied
Dabei seit
05.10.2006
Beiträge
121
Reaktionspunkte
0
Ort
DE - NRW
hey super vielen dank für eure antworten.. :)
ich wollte erstmal richtig eure tipps bzw. infos nachgehen bevor ich hier direkt nach eure antworten kommen und weiter fragen würde "ja und wie? wieso? mit was? wie mache ich das?" usw, weil sowas nervt, ich weiss!!!

Darin, dass der Datenbank-Server des Anbieters nur Verbindungen vom eigenen Webserver akzeptiert und von keinem anderen Rechner. Das Problem ist also entweder die Firewall des Providers oder die Möglichkeit, dass der DB-Server von außerhalb des internen Netzes des Providers überhaupt nicht erreichbar ist.

ja da hast du schon recht, es ist sowohl die firewall von strato als auch dass der DB-Server von ausserhalb nicht erreichbar ist.. und sicherlich ist das auch aus sicherheitsgründen gut so, wie du schon sagtest :goil:
jedoch muss ich sagen dass ich mit:

Halloechen,
ja und? Wo siehst Du jetzt die unueberwindbare Huerde? Alles was er mit dem Browser machen kann, kann er auch programmatisch mit java abfackeln.

Und um Missverstaendnissen vorzubeugen: nein, ich meine nicht via JDBC.

Gruss, FFNB.

..schon was anfangen kann!
ok im voraus möchte ich sagen, dass ich java in der uni gelernt habe/hatte, zwar mit ne 1 abschliesste aber weiter als das habe ich noch nix gemacht..
ich bin ein php-junkie :lol: wenn ich das so sagen darf (wegen meiner arbeit) aber gut, von programmierung generel habe ich ahnung (auch von anderen sprachen), nur das hier verstehe ich nicht so ganz:

HTML:
"Wie kann das Konzept bzw. die "Architektur" einer Java-Datenbank-Anwendung
aussehen, wenn die Benutzer über das Internet oder ein Intranet von
ihren Client-Rechnern aus auf die Datenbank zugreifen sollen?

Ein solches Client-Server-System kann z.B. aus folgenden Komponenten
zusammengesetzt werden:

 * einer Java-Applikation (oder Servlet) auf dem Server, die auf
    die Datenbank zugreift, und
 * einem HTML-Formular oder einem Java-Applet, das innerhalb einer
Web-Page auf den Clients läuft und das User-Interface realisiert.

jetzt zur sache: ich und ein kollege haben eine seite..
er sorgt sich so richtig um den inhalt, ich baue die seite von anfang an auf..
das ganze habe ich dynamisch in php gemacht, also von der datenbank werden halt datensätze gelesen (textname,datei,bilder,layout,datum,etc,etc,etc) und durch die übergebenen parameter in der url wird jedes mal die seite dynamisch generiert, somit habe ich natürlich ein paar php-dateien und sonst nichts weiter..
so, damit der kollege jetzt aber auch seine sachen verwalten/hochladen/entfernen kann, muss er sich ja auch erstmal bei strato.de anmelden, dann auf unserer datenbank, und dann die entsprechenden einträge in der datenbank reinschreiben..
er hat leider kein blassen schimmer davon (habe ich das jetzt richtig geschrieben :grinning:) und meinte zu mir ob ich was machen kann damit er nur auf "knopfdruck" sachen hochladen kann..

ok, ich kann mich ja hinsetzen und in ner stunde in einem PHP formular eine seite erstellen, irgendwo auf dem server, und da können wir unsere sachen hochladen aber ich würde es VIEL LIEBER HABEN wenn es so eine unterseite nicht gibt, sondern eine applikation auf dem client-rechner, sonst würde es für jeden erreichbar sein (obwohl ich nirgendwo zu diesem link verweise bzw. könnte auch ein kleines login einbauen damit man darein kommt aber trotzdem) ich würde es gerne in eine appl. machen..

deswegen verstehe ich diesen artikel nicht, wenn das mit einem html-formular geht und ein java applet, dann wieso nicht gleich mit php und gut ist?
ich will einfach dass nur er und ich ein tool haben um unsere arbeit zu erledigen, und uns nirgendwo anmelden müssen (soll ja im code alles eingetragen sein)!

soviel ich nun weiss gibt es keinen weg mit java-swing oder java-awt OHNE JDBC, sondern über http datenbankzugriffe zu erstellen/programmieren..

ok, super lange habe ich geredet aber ich wollte mein anliegen richtig gut schildern, damit ihr/oder wer sonst noch, gut informiert seien könnt..

wenn es doch einen weg gibt dann würde ich mich über tipps richtig freuen, ansonsten suche ich weiter ob ich es doch irgendwie machen kann, es nicht auf unserer seite zu machen, sondern als appl auf dem rechner..

danke euch :victory:
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #10
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Das Problem ist damit leider immer noch vorhanden. Ein Dienst am Webserver von Strato, ob das nun PHP ist, oder ein Java-Servlet, kann auf die Datenbank zugreifen. Der springende Punkt ist nicht, welche Technik verwendet wird, sondern wo das Ding läuft. Daher kannst du auch nicht mit einem Java-Programm direkt auf den DB-Server zugreifen, sondern nur über eine Art "Proxy" über den Webserver von Strato. Du kannst natürlich ein spezielles PHP-Skript für diese Proxy-Funktion verwenden, das keine Benutzeroberfläche hat, sondern von deinem Programm aus - mit passenden Parametern - aufgerufen wird, und die Arbeiten erledigt. Das ist natürlich etwas umständlich. Genauso gut kannst du natürlich Java oder .net verwenden, wenn der Anbieter das unterstützt.

Ich würde aber zu einer PHP-Seite für die Bearbeitung tendieren, die in einem htaccess-geschützten Bereich liegt. Damit bist du schonmal halbwegs sicher.
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #11
FerFemNemBem

FerFemNemBem

Moderator
Teammitglied
Dabei seit
11.09.1999
Beiträge
4.494
Reaktionspunkte
0
Halloechen,

wenn ich das nun richtig verstanden hab, hast Du Webspace, mit PHP und 'ner Datenbank dahinter. Via PHP kannst Du auf Deine Datenbank zugreifen?

Wenn das so ist, dann kann ich das hier:
Ich würde aber zu einer PHP-Seite für die Bearbeitung tendieren, die in einem htaccess-geschützten Bereich liegt. Damit bist du schonmal halbwegs sicher.
nur 2x dick unterstreichen. Ich denke, das waere ein relativ einfacher, sicherer und auch ueblicher Weg.

Gruss, FFNB.

PS: das mit PHP wusste ich vorher nicht. Ich dachte, Du kannst Deine DB dort nur via Weboberflaeche verwalten...
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #12
rohamis

rohamis

Bekanntes Mitglied
Dabei seit
05.10.2006
Beiträge
121
Reaktionspunkte
0
Ort
DE - NRW
ja ok, nur, was ist sicherer als auf dem lokalen rechner etwas zu haben, anstatt dass ich auf meine seite www.xyz.de einen link habe wie www.xyz.de/irgendwo/uploaddings.php?? das kann jeder sehen (also halt nur wenn man weiss wie man auf einem server rausbekommt welche dateien drauf sind und wo) aber eine billiganwendung auf dem lokalen rechner tut nix "sichtbares" draussen..

versteht ihr?
deswegen wollte ich das so machen aber ok, ich gehe doch an meine anfangsgedanken zurück bzw. euren rat :)

danke an euch und immer weiter so :victory:

:hal:
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #13
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Das wäre auch nicht sicherer sondern würde dich nur in trügerischer Sicherheit wiegen. Schließlich müsste in dem Fall vom Server trotzdem eine Kommunikationsmöglichkeit, also ein offener Port, bereitgestellt werden, über den man auf die DB zugreifen kann. Noch dazu sind sowohl die Standard-Ports wie auch die Protokolle für DB-Server bekannt; da bleibt dann als einzige Sicherheit die Benutzersteuerung der Datenbank. Deshalb ist der DB-Server auch nicht von außen zugänglich.
Und es sagt ja niemand, dass du einen Link auf die Seite setzen musst. Wenn Directory-Listing ausgschaltet ist, oder eine index-Seite existiert, dann bekommt erstmal niemand mit, wie das geschützte Unterverzeichnis und das Adminscript dort heißen. Man muss dann schonmal wissen, dass sowas da ist, den Link kennen, und dann kommt man erst zur Passwortabfrage (die sehr wahrscheinlich sicherer ist, als man das selber so auf die Schnelle programmieren kann).
 
  • JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich! Beitrag #14
rohamis

rohamis

Bekanntes Mitglied
Dabei seit
05.10.2006
Beiträge
121
Reaktionspunkte
0
Ort
DE - NRW
ja ich denke da hast du recht..
also mein erster gedanke war halt dass auf dem server nichts drauf liegt, was mit hochladen/runterladen etc. von datensätzen in der datenbank zu tun hat..
das meinte ich mit sicherheit aber dass der port offen sein muss damit sich das verbindet das weiss ich und ok wie du shcon gesagt hast ist es auch nicht 100% sicher..

wie dem auch sei..

Und es sagt ja niemand, dass du einen Link auf die Seite setzen musst. Wenn Directory-Listing ausgschaltet ist, oder eine index-Seite existiert, dann bekommt erstmal niemand mit, wie das geschützte Unterverzeichnis und das Adminscript dort heißen. Man muss dann schonmal wissen, dass sowas da ist, den Link kennen, und dann kommt man erst zur Passwortabfrage (die sehr wahrscheinlich sicherer ist, als man das selber so auf die Schnelle programmieren kann).

:) das habe ich auch nicht vor.. natürlich werde ich nirgendwo einen link setzen wo es zu diesem bereich geht.. :grinning:

ich habe jetzt in einem unterordner die php dateien drinne, die sind nun komplet über .htaccess .htpasswd .htusers .htgroups usw geschützt..
link ist nirgendwo zu sehen, wie du meintest man muss den link kennen damit man dahin kommt (und das werden nur der kollege und ich kennen), und ausserdem wenn man da ist kommt halt username und passwort abfrage :)

also, wie von anfang an gedacht :goil:
 
Thema:

JAVA (J2SE): Verbindung mit einer Datenbank nicht möglich!

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben