Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Acces denied socket permission

843807Oct 12 2007 — edited Oct 31 2007
I have no more idea's on how to fix this issue..

I get me this error in java console when I open my applet in a browser
=> loading driver:
OK
=> connecting:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

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

STACKTRACE:

java.net.SocketException: java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.5.4:3306 connect,resolve)
	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:277)
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2668)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
	at java.sql.DriverManager.getConnection(DriverManager.java:582)
	at java.sql.DriverManager.getConnection(DriverManager.java:185)
	at TestMySQL.init(TestMySQL.java:22)
	at sun.applet.AppletPanel.run(AppletPanel.java:417)
	at java.lang.Thread.run(Thread.java:619)


** END NESTED EXCEPTION **



Last packet sent to the server was 83 ms ago.
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2741)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
	at java.sql.DriverManager.getConnection(DriverManager.java:582)
	at java.sql.DriverManager.getConnection(DriverManager.java:185)
	at TestMySQL.init(TestMySQL.java:22)
	at sun.applet.AppletPanel.run(AppletPanel.java:417)
	at java.lang.Thread.run(Thread.java:619)
it works fine with eclipse in appletviewer..
I've tried signing it because it would be some security policy thing.. which has no result at all
and I've tried making a policy thing but no clue how to attach that to my jar

here's my HTML
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
	<title>MySQL Test</title>
</head>
<body>
<p>MySQL Test</p>
<p><object classid="java:TestMySQL.class" codebase="./" width="90%" height="90%" codetype="application/java" archive="mysql-test.jar" >De browser ondersteunt het OBJECT element niet, of kan het Java applet niet insluiten.</object></p>
</body>
</html>
and here's my MANIFEST thing..
Manifest-Version: 1.0
Class-Path: mysql-connector-java-5.0.4.jar
and here's my applet source
import javax.swing.JApplet;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;

public class TestMySQL extends JApplet {
	
	private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
	private static final String DATABASE_URL = "jdbc:mysql://192.168.5.4:3306/OQMcontrolec30_validatie";

	private static final String USERNAME = "root";
	private static final String PASSWORD = "";
	
	public void init() {
		try {
			/* Test loading driver */
			System.out.println("=> loading driver:");
			Class.forName(JDBC_DRIVER).newInstance();
			System.out.println("OK");

			/* Test the connection */
			System.out.println("=> connecting:");
			Connection connection = DriverManager
					.getConnection(DATABASE_URL, USERNAME, PASSWORD);
			System.out.println("OK");
			System.out.println();
			
			/* Perform query */
			Statement statement = connection.createStatement();
			String sql = "SELECT * FROM flowchart WHERE ProcesID = 100;";
			ResultSet resultset2 = statement.executeQuery(sql);
			
			/* Print the results */
			while (resultset2.next()) {
				try {
					for (int i = 1; i < 25; i++){
						System.out.println(resultset2.getString(i));
					}
				}catch(Exception e){}
				System.out.println("==============================");
			}

			/* Close result set, statement and DB connection */
			resultset2.close();
			statement.close();
			connection.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
I'm trying some stuff with a test applet before I make it into my real applet
but so far it doesn't even work =(
I must be able to contact a remote MySQL server and load data from that.. and eventually save data into it too..
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 28 2007
Added on Oct 12 2007
20 comments
3,920 views