Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Zugriff auf ferne MySQL-DB

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

Ich habe folgende Angaben von meinem Datenbankprovider:

Hostname,Datenbankname,User,Passwort

Mit folgendem Code versuchte ich eine Verbindung zu dieser Datenbank:


        String url = "jdbc:mysql://[Hostname]/[Datenbankname]";

        Connection con;

        Statement stmt;


        try {

            DriverManager.setLogWriter(new PrintWriter(System.out));

            Class.forName("com.mysql.jdbc.Driver");

            DriverManager.setLogWriter(new PrintWriter(System.out));

            con = DriverManager.getConnection( url,[User],[Passwort]);

            stmt = con.createStatement();

...

            con.close();

        } catch(java.lang.ClassNotFoundException e) {

            System.err.print("ClassNotFoundException: ");

            System.err.println(e.getMessage());

        } catch (SQLException e) {

			// TODO Auto-generated catch block

			e.printStackTrace();

	}

Dabei wurde mir folgende Fehlermeldung erzeugt:
[COLOR=Red]** BEGIN NESTED EXCEPTION ** 


java.net.ConnectException

MESSAGE: Connection refused: connect


STACKTRACE:


java.net.ConnectException: Connection refused: connect

	at java.net.PlainSocketImpl.socketConnect(Native Method)

	at java.net.PlainSocketImpl.doConnect(Unknown Source)

	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)

	at java.net.PlainSocketImpl.connect(Unknown Source)

	at java.net.SocksSocketImpl.connect(Unknown Source)

	at java.net.Socket.connect(Unknown Source)

	at java.net.Socket.connect(Unknown Source)

	at java.net.Socket.<init>(Unknown Source)

	at java.net.Socket.<init>(Unknown Source)

	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:124)

	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225)

	at com.mysql.jdbc.Connection.createNewIO(Connection.java:1783)

	at com.mysql.jdbc.Connection.<init>(Connection.java:450)

	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)

	at java.sql.DriverManager.getConnection(Unknown Source)

	at java.sql.DriverManager.getConnection(Unknown Source)

	at mr.dbadmin.test.Starter.main(Starter.java:22)



** END NESTED EXCEPTION **[/COLOR]

Meine Vermutung ist nun, dass der Provider einen Zugriff nicht zuläßt, wenn er nicht aus dem eigenen System kommt.

Oder gibt es eine Möglichkeit doch irgendwie zuzugreifen? Ich würde gerne die Datenbank über ein kleines Tool verwalten können, damit auch Mitarbeiter Dateien leicht einlesen können.

Hat einer eine Idee oder einen Vorschlag?

Danke

markus

Also meines Wissens lassen die meisten Provider einen entfernten Zugriff aus Sicherheitsgründen nicht zu. Aber das müsste dir dein Provider sagen können.

Gruß

Meine Vermutung ist nun, dass der Provider einen Zugriff nicht zuläßt, wenn er nicht aus dem eigenen System kommt.
Genauso sieht es aus.

Hat einer eine Idee oder einen Vorschlag?
Mit deinem Provider abklären, ob der Zugriff von aussen überhaupt möglich ist, und wenn nicht nachfragen ob man den freischalten kann.

Geht das nicht und du willst trotzdem auf die DB -> anderen Provider suchen.

jup, denk ich auch.

jeden provider den ich kenne hat die DB so eingerichtet das zugriffe nur von 127.0.0.1 möglich sind.

ich wieß jan ich ob und wenn ja, wie, sowas öglich ist, aber vllt. kann man ja irgendwie so ne art proxy basteln und die hochladen.

dein tool verbindet sich mit dem proxy welcher dann auf die DB zugreift.

Oder andersherum:

solltest du dein Tool nicht hochladen und ausführen können?

Über Passwortabfragen kann mans ja noch sichern und dann einfach via browser drauf zugreifen. oder?

  • Autor

Gut, wollte nur meine Vermutung bestätigt wissen, dann werde ich wohl nicht um eine PHP-Datenbankverwaltung für unsere Mitarbeiter rumkommen.

Obwohl ich glaube, dass der Dateiupload etwas problematischer wird, da die Verarbeitungszeit (wenn ich mich nicht irre) eines PHP-Skripts doch nur 30 Sek. beträgt und ich vermute, dass es länger dauern könnte.

Trotzdem danke

Obwohl ich glaube, dass der Dateiupload etwas problematischer wird, da die Verarbeitungszeit (wenn ich mich nicht irre) eines PHP-Skripts doch nur 30 Sek. beträgt und ich vermute, dass es länger dauern könnte.

das kann man mit set_time_limit oder max-execution-time anpassen.

s'Amstel

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.