PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Connection mittels jdbc auf mysql Datenbank schlägt fehl



riseX
02.03.07, 10:25
Hallo,

ich habe xampp mit Tomcat installiert und Mysql gestartet und den Tomcat ... das geht soweit. Nun will ich mittels JDBC auf die Datenbank connecten

mittels:



private String driver = "com.mysql.jdbc.Driver";
private String url = "jdbc:mysql://localhost:3306/testdb";
private String user = "root";
private String pass = "";

// Initialisiere DB-Treiber
private CDatabase() {
try {
Class.forName(driver);
} catch(ClassNotFoundException e) {
System.out.println("Konnte Treiber '" + driver + "' nicht laden!");
System.out.println();
System.out.println(e.getMessage());
e.printStackTrace();
}
}

// Erstelle eine neue Verbindung
public Connection connect() {
Connection cn = null;
try {
cn = DriverManager.getConnection(url, user, pass);
} catch (SQLException e) {
System.out.println("No Connection!");
}
return cn;
}



Den Treiber nimmt er ... den habe ich in Eclipse in den Classpath eingefügt. ... beim getConnection wirft er dann die Exception. wenn ich mich auf der mysql-Konsole einlogge auf die URL und connecte .. auch mit root und ohne passwort geht es nicht ... weiss einer vielleicht warum?


C:\Programme\xampp\mysql\bin>mysqladmin -u root version status proc
mysqladmin Ver 8.41 Distrib 5.0.33, for Win32 on ia32
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version 5.0.33
Protocol version 10
Connection localhost via TCP/IP
TCP port 3306
Uptime: 3 min 14 sec

Ich sitz nu hier schon 45 minuten und weiss nicht warum das hier nicht geht.

Danke schonmal im vorraus.

Gruß vom Marv

comrad
02.03.07, 10:35
Lass dir die Exception doch mal ausgeben?



} catch (SQLException e) {
System.out.println("No Connection! Reason: " + e);

riseX
02.03.07, 10:40
Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve)

STACKTRACE:

java.net.SocketException: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:3306 connect,resolve)
at com.mysql.jdbc.StandardSocketFactory.unwrapExcepti onToProperClassAndThrowIt(StandardSocketFactory.ja va:291)
at com.mysql.jdbc.StandardSocketFactory.connect(Stand ardSocketFactory.java:182)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:267)
at com.mysql.jdbc.Connection.createNewIO(Connection.j ava:2739)
at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonReg isteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager .java:582)
at java.sql.DriverManager.getConnection(DriverManager .java:185)
at db.CDatabase.connect(CDatabase.java:40)
at db.CLogin.login(CLogin.java:70)
at login.Login.doPost(Login.java:26)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.security.SecurityUtil$1.run(Se curityUtil.java:243)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject .java:517)
at org.apache.catalina.security.SecurityUtil.execute( SecurityUtil.java:275)
at org.apache.catalina.security.SecurityUtil.doAsPriv ilege(SecurityUtil.java:161)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:245)
at org.apache.catalina.core.ApplicationFilterChain.ac cess$000(ApplicationFilterChain.java:50)
at org.apache.catalina.core.ApplicationFilterChain$1. run(ApplicationFilterChain.java:156)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:152)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)


** END NESTED EXCEPTION **

riseX
02.03.07, 10:50
ich habs ...

C:\Programme\Java\jdk1.6.0\jre\lib\security

in der Datei java.policy die Zeile


permission java.net.SocketPermission "localhost:3306", "connect,resolve";

hinzufügen ... tomcat bzw. jvm neustarten und es geht.

Trotzdem danke für Deine Hilfe ... hätte ich mir die Exception nicht ausgegeben hätte ichs nie gefunden :)

danke und tööö
vom Marv