Link to home
Start Free TrialLog in
Avatar of smartin7
smartin7

asked on

Simple SQL Applet

Hey all, I'm trying to write my first SQL applet which connects to an Access database.  I'm just trying to get the framework of this to work so I can experiement with it later.  

I am using an ODBC bridge driver.  
Here is my error:

java.security.AccessControlException: access denied (java.lang.RuntimePermissi
 accessClassInPackage.sun.jdbc.odbc)
        at java.security.AccessControlContext.checkPermission(AccessControlCon
xt.java:270)
        at java.security.AccessController.checkPermission(AccessController.jav
401)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
        at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1
3)
        at sun.applet.AppletSecurity.checkPackageAccess(AppletSecurity.java:16

        at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:109)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:130)
        at SqlTest.init(SqlTest.java:39)
        at sun.applet.AppletPanel.run(AppletPanel.java:341)
        at java.lang.Thread.run(Thread.java:536)



Here is my Applet: VERY SIMPLE -- Dont laugh:


/*
 * @(#)SqlTest.java 1.0 02/04/10
 *
 * You can modify the template of this file in the
 * directory ..\JCreator\Templates\Template_2\Project_Name.java
 *
 * You can also create your own project template by making a new
 * folder in the directory ..\JCreator\Template\. Use the other
 * templates as examples.
 *
 */


import java.awt.*;
import java.applet.*;
import java.sql.*;
import javax.swing.*;


public class SqlTest extends JApplet {
     
     String fName = new String();
     String lName = new String();
     
     public void init() {
         
          String url = "jdbc:odbc:dsnTest";
          String sqlString = "Select * Customer";
         
         
          ResultSet rs;
          Statement strSQL;
         
          Connection con;
         
          try
          {
               //create instance of the driver
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
               
               //creat the connection
               con = DriverManager.getConnection(url);
               
               //make sql statment
               strSQL = con.createStatement();
               rs = strSQL.executeQuery(sqlString);
               
               
               while(rs.next())
               {
                   
                    fName = rs.getString("First Name");
                    lName = rs.getString("Last Name");
                    if(fName == null)
                         System.out.println("NULL!!");
                    if(lName == null)
                         System.out.println("Last name is null");
               }
                   
         
                             
          }
          //catch all exceptions
          catch(Exception e)
          {
               e.printStackTrace();
               return;
          }

         
     }

     public void paint(Graphics g)
     {
         
          g.drawString("First Name: " + fName, 50, 60);
         
         
     }
}
Avatar of girionis
girionis
Flag of Greece image

 The exception you are getting is thrown by the applet security manager and it does not have to do with errors in your code. Bare in mind that applets can only communicate with the database server that resides on the same machine where Applet was downloaded from. You cannot connect to any other server without first signing the Applet with a digital certificate.

  Hope it helps.
ASKER CERTIFIED SOLUTION
Avatar of girionis
girionis
Flag of Greece image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of smartin7
smartin7

ASKER

Girionis,
   Thanks for the information, thats exactly what I need.  It appears I need to create a policy file.  This is a great link.  Thanks again!

-Scott
 No problem. Thank you for the points :-)