# Access denied for user .



## minzel (16. Nov 2005)

```
java.sql.SQLException: Access denied for user 'dbu1025321'@'p54BA6985.dip.t-dialin.net' (using password: YES)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2926)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:771)
	at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3647)
	at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1176)
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2544)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1474)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at app.swapOut.sql.SQLConnection.<init>(SQLConnection.java:27)
	at app.swapOut.sql.TestSQL.<init>(TestSQL.java:7)
	at app.swapOut.sql.TestSQL.main(TestSQL.java:12)
Exception in thread "main" java.lang.NullPointerException
	at app.swapOut.sql.SQLConnection.executeSQL(SQLConnection.java:38)
	at app.swapOut.sql.TestSQL.main(TestSQL.java:14)
```

Hier ein Codeausschnitt


```
...
  public SQLConnection() {
      
      // Treiber laden
      try {
          Class.forName("com.mysql.jdbc.Driver");
      }
      catch(ClassNotFoundException e) {
          e.printStackTrace();
      }
      // Connection erstellen und Statement zuweisen
      try {
            Connection conn = DriverManager.getConnection(ConnectDetails.CONNECTION + ConnectDetails.DATABASE + "?user=" + ConnectDetails.USER + "&password=" + ConnectDetails.PASSWORD);
            this.stmt = conn.createStatement();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
   }
...
```

Die Informationen für die Datenbank werden ordnungsgemäß gefüttert.
Bestehend alles aus normalen Strings: (Hier dummydaten)


```
...
	   public final static String CONNECTION = "jdbc:mysql://www.url.de/";
	   public final static String DRIVER = "com.mysql.jdbc.Driver";
	   public final static String DATABASE = "dbu1025321";
	   public final static String USER = "dbuser";
	   public final static String PASSWORD = "pass";
...
```

Beim einsetzen der richtigen Infos kommt obriger Fehler.

Woher rührt dieser?
Hab im Forum schon zahlreiche Beiträge dazu gelesen, aber geholfen hat mir nichts.

Dank im Voraus
minzel


----------



## Lim_Dul (16. Nov 2005)

Das sieht wie eine typische MySQL Fehlermeldung aus.
Die besagt, dass deine Daten nicht stimmen.
Entweder stimmen Benutzer/Passwort nicht oder der Benutzer darf sich nicht von diesem Host aus zur Datenbank verbinden.


----------



## minzel (16. Nov 2005)

Die Logindaten sind soweit alle richtig. Dies kann man also ausschließen.
Kann man das Problem irgendwie umgehen?


----------



## André Uhres (16. Nov 2005)

Versuch einmal user+password in der Datenquellenkonfiguration anzugeben und im Programm wegzulassen.


----------



## minzel (16. Nov 2005)

```
...
    	  	Connection conn = DriverManager.getConnection(ConnectDetails.CONNECTION + ConnectDetails.DATABASE + "?user=" + ConnectDetails.USER + ConnectDetails.PASSWORD);
...
```

Auch wenn es schon zum scheitern Verurteilt war:


```
java.sql.SQLException: Access denied for user 'web67c342d2261f7'@'p54BA7DB1.dip.t-dialin.net' (using password: NO)
...
```

War natürlich nicht sinn und zweck.


----------



## André Uhres (17. Nov 2005)

Ich habe zwar etwas ganz anderes gemeint, aber das Ergebnis ist schon verwirrend:
Die Fehlermeldung zeigt jetzt einen ganz anderen user an  ???:L .

Aber nun gut, was ich meine ist dies: im Programm gibts du nur den Namen der ODBC *Datenquelle* an:

```
Connection conn = DriverManager.getConnection("jdbc:odbc:" + DATASOURCE_NAME);
```
In der Konfiguration der *Datenquelle* (das ist in Windows und hat nichts mit Java zu tun) gibts du den user
und den password an.


----------



## minzel (17. Nov 2005)

hey, also habs jetzt so versucht:
(Originaldaten, nur Passwort wurde Auskommentiert)


```
...
    	  String strSQLConnection = "jdbc:mysql://www.if03.de/usr_web67_1";
          con = DriverManager.getConnection(strSQLConnection, "web67","/**/"); 
...
```

So kommt gleichnahmiger Fehler:


```
java.sql.SQLException: Access denied for user 'web67'@'p54BA7DB1.dip.t-dialin.net' (using password: YES)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2926)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:771)
	at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3647)
	at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1176)
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2544)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1474)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at app.swapOut.sql.SQLConnection.<init>(SQLConnection.java:30)
	at app.swapOut.sql.TestSQL.<init>(TestSQL.java:7)
	at app.swapOut.sql.TestSQL.main(TestSQL.java:12)
Exception in thread "main" java.lang.NullPointerException
	at app.swapOut.sql.SQLConnection.executeSQL(SQLConnection.java:42)
	at app.swapOut.sql.TestSQL.main(TestSQL.java:14)
```

Muss das Passwort noch irgendwie verschlüsselt werden oder sollte es reichen wenn man es Klartext da mit hineinschreibt?


----------



## Bleiglanz (17. Nov 2005)

user accounts by mysql sind auch an die remote hosts gebunden

wahrscheinlich hast du web67 nur den Zugriff vom localhost erlaubt, du musst % schreiben wenn der von allen RemoteHosts zugreifen will


----------



## minzel (17. Nov 2005)

hm, dank euch erstmal für die antworten ...
ich bin zwar in java recht firm aber wenns um datenbanken geht resigniere ich meist.
Und gerade an dem einfach Problem häng ich schon ein paar Wochen.

Wo genau müßte ich das mit dem % einstellen bzw. schreiben?


----------



## Bleiglanz (17. Nov 2005)

wie administrierst du denn deine Datenbank?


----------



## minzel (17. Nov 2005)

Space allgemein:
Confixx Professional

MySql:
phpMyAdmin


----------

