applets - jdbc
Hola,
Estoy probando el jdbc con un applet y no me funciona.
No funciona igual que cuando haces lo desde ventanas?
Mi codigo es
import java .awt.*;
import java.applet.*;
import java.awt.event.*;
import java.sql.*;
public class Ejercicio extends Applet implements ActionListener,Runnable
{
Connection conexion;
Statement sentencia;
TextField txtTitulacion= new TextField (15);
TextField txtPrecio= new TextField (10);
TextField txtCreditos= new TextField (10);
TextField txtAnios= new TextField (10);
Label informa = new Label();
Label titulo = new Label ("Nombre de titulación");
Label precio = new Label ("Precio credito");
Label credito = new Label ("Número de créditos");
Label anios = new Label ("Años");
Button btnAnadir = new Button ("Añadir");
Button btnBorrar = new Button ("Borrar");
Panel panelsuperior = new Panel();
Panel panelinferior = new Panel();
public void init()
{
setLayout (new BorderLayout()) ;
panelsuperior.setLayout (new GridLayout (4,2));
panelsuperior.add(titulo);panelsuperior.add(txtTitulacion);
panelsuperior.add(precio);panelsuperior.add(txtPrecio);
panelsuperior.add(credito);panelsuperior.add(txtCreditos);
panelsuperior.add(anios);panelsuperior.add(txtAnios);
add("North",panelsuperior);
panelinferior.add(btnAnadir);
panelinferior.add(btnBorrar);
add("Center",panelinferior);
add("South", informa);
btnAnadir.addActionListener(this);
btnBorrar.addActionListener(this);
}
public void actionPerformed (ActionEvent ev)
{
if (ev.getSource()==btnAnadir)
{
System.out.println ("Conectando a la BD:");
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conexion = DriverManager.getConnection ("jdbc:odbc:ejercicio","","");
sentencia = conexion.createStatement();
}catch (ClassNotFoundException e)
{
System.out.println ("No se pudo cargar el driver");
}catch(SQLException e)
{
System.out.println (e.getMessage());
}
}
}
}
cuando hago clic en boton me da el error
Conectando a la BD:
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1513)
at sun.applet.AppletSecurity.checkPackageAccess(AppletSecurity.java:166)
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 Ejercicio.actionPerformed(Ejercicio.java:59)
at java.awt.Button.processActionEvent(Button.java:381)
at java.awt.Button.processEvent(Button.java:350)
at java.awt.Component.dispatchEventImpl(Component.java:3526)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
¿¿???
Estoy probando el jdbc con un applet y no me funciona.
No funciona igual que cuando haces lo desde ventanas?
Mi codigo es
import java .awt.*;
import java.applet.*;
import java.awt.event.*;
import java.sql.*;
public class Ejercicio extends Applet implements ActionListener,Runnable
{
Connection conexion;
Statement sentencia;
TextField txtTitulacion= new TextField (15);
TextField txtPrecio= new TextField (10);
TextField txtCreditos= new TextField (10);
TextField txtAnios= new TextField (10);
Label informa = new Label();
Label titulo = new Label ("Nombre de titulación");
Label precio = new Label ("Precio credito");
Label credito = new Label ("Número de créditos");
Label anios = new Label ("Años");
Button btnAnadir = new Button ("Añadir");
Button btnBorrar = new Button ("Borrar");
Panel panelsuperior = new Panel();
Panel panelinferior = new Panel();
public void init()
{
setLayout (new BorderLayout()) ;
panelsuperior.setLayout (new GridLayout (4,2));
panelsuperior.add(titulo);panelsuperior.add(txtTitulacion);
panelsuperior.add(precio);panelsuperior.add(txtPrecio);
panelsuperior.add(credito);panelsuperior.add(txtCreditos);
panelsuperior.add(anios);panelsuperior.add(txtAnios);
add("North",panelsuperior);
panelinferior.add(btnAnadir);
panelinferior.add(btnBorrar);
add("Center",panelinferior);
add("South", informa);
btnAnadir.addActionListener(this);
btnBorrar.addActionListener(this);
}
public void actionPerformed (ActionEvent ev)
{
if (ev.getSource()==btnAnadir)
{
System.out.println ("Conectando a la BD:");
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conexion = DriverManager.getConnection ("jdbc:odbc:ejercicio","","");
sentencia = conexion.createStatement();
}catch (ClassNotFoundException e)
{
System.out.println ("No se pudo cargar el driver");
}catch(SQLException e)
{
System.out.println (e.getMessage());
}
}
}
}
cuando hago clic en boton me da el error
Conectando a la BD:
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1513)
at sun.applet.AppletSecurity.checkPackageAccess(AppletSecurity.java:166)
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 Ejercicio.actionPerformed(Ejercicio.java:59)
at java.awt.Button.processActionEvent(Button.java:381)
at java.awt.Button.processEvent(Button.java:350)
at java.awt.Component.dispatchEventImpl(Component.java:3526)
at java.awt.Component.dispatchEvent(Component.java:3367)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
¿¿???
