Hey,
ich versuche mit einer .jar auf eine externe DB zu gehen. In der DB ist als Host % angelegt.
als Meldung bekomme ich:
java.sql.SQLException: Server connection failure during transaction. Due to underlying exception: 'java.sql.SQLException: Invalid authorization specification message from server: "Access denied for user 'USER'@'IP/HOST' (using password: YES)"'.
** BEGIN NESTED EXCEPTION **
java.sql.SQLException
MESSAGE: Invalid authorization specification message from server: "Access denied for user 'USER'@'IP/HOST' (using password: YES)"
STACKTRACE:
java.sql.SQLException: Invalid authorization specification message from server: "Access denied for user 'USER'@'IP/HOST' (using password: YES)"
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2001)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1907)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:2524)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:818)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1926)
at com.mysql.jdbc.Connection.<init>(Connection.java:452)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at General.Db_Connection.getConnection(Unknown Source)
at General.Db_Connection.<init>(Unknown Source)
at General.Index.openDBConnection(Unknown Source)
at General.Index.<init>(Unknown Source)
at General.Index.main(Unknown Source)
** END NESTED EXCEPTION **
Attempted reconnect 3 times. Giving up.
SER & IP/HOST hab ich natürlich durch die richtigen Daten ersetzt (mit einem SQL Programm komm ich auf die DB)
public Db_Connection(Index index, String mysqlHost, int mysqlPort, String mysqlDatabase, String mysqlUser, String mysqlPassword, String db_pre)
{
try
{
loadDrivers();
getConnection(mysqlHost, mysqlPort, mysqlDatabase, mysqlUser, mysqlPassword);
console("Connection to Database sucess");
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e)
{
console("Can't connect to Database: "+e.toString());
}
}
private void loadDrivers() throws ClassNotFoundException
{
Class.forName("com.mysql.jdbc.Driver");
}
private void getConnection(String mysqlHost, int mysqlPort, String mysqlDatabase,String mysqlUser, String mysqlPassword) throws SQLException
{
conn = DriverManager.getConnection("jdbc:mysql://" + mysqlHost
+ ":"+mysqlPort+"/" + mysqlDatabase + "?user=" + mysqlUser
+ "&password=" + mysqlPassword + "&autoReconnect=true");
}
Ja hab schon alles mögliche Versucht... Aber wenn der Host auf % steht dann ist doch jeder Host erlaubt. Was könnte ich also falsch machen?