Ola Marcio,

Os drivers ODBC sao codigo nativo, e portanto nao podem ser
executados por um applet nao assinado por questoes de seguranca.

Lembre-se que o ODBC precisa ser configurado na maquina cliente,
e voce nao vai querer configurar drivers ODBC na maquina de quem
for usar seu applet.

Portanto, utilize um driver JDBC puro Java, que nao precisa de
configuracao, pode ser carregado dinamicamente pela rede, e
tem melhor performance do que a ponte JDBC-ODBC.

Existem drivers JDBC para a todos os os principais bancos de dados,
e tambem para a maioria dos outros.

Ou melhor ainda, nao utilize JDBC em um applet, a menos que sua
aplicacao seja uma aplicacao de rede local, isso em geral vai te
trazer duzias de problemas (problemas com firewall, BD em maquinas
diferentes, falta de seuranca nos queries SQL, etc, etc). Para 
evita-los desde o principio, faca a sua aplicacao em 3 camadas 
(applet falando com servidor - pode ser via sockets, servlets, RMI 
ou CORBA - servidor falando com base de dados via JDBC).

Abracos,

Bruno.




> Marcio Mangar wrote:
> 
> Boa tarde Javaneses......
> 
>         Eu tenho um problema com applets java, n�o consigo fazer a
> conex�o com o banco de dados, uma aplica��o, - com o  public static
> void main(String args[]){ - vai bem, consigo conectar, inserir e
> apagar registros no meu banco de dados, mas com um applet ele d� o
> seguinte erro
> 
> java.security.AccessControlException: access denied
> (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc )
> 
> esse erro se d� ap�s a seguinte linha:
> 
> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
> 
> 
> desde j� agrade�o.
> 
> 
> **********************O C�DIGO
> *****************************************
> 
> import java.applet.*;
> 
> import java.awt.*;
> 
> import java.sql.*;
> 
> 
> 
> public class Applet1 extends Applet
> 
> {
> 
> String URL = "jdbc:odbc:meuODBC";
> 
> String username = "username";
> 
> String password = "senha";
> 
> Panel pCima = new Panel();
> 
> Panel pCentro = new Panel();
> 
> Label label1 = new Label();
> 
> TextArea taSQL = new TextArea(10,80);
> 
> public void init()
> 
> {
> 
> initForm();
> 
> conecta();
> 
> }
> 
> 
> 
> void initForm()
> 
> {
> 
> this.setBackground(Color.lightGray);
> 
> this.setForeground(Color.black);
> 
> label1.setText("label1");
> 
> this.setLayout(new BorderLayout());
> 
> this.add("North", pCima);
> 
> this.add("Center", pCentro);
> 
> pCima.add("North",label1);
> 
> pCentro.add("Center", taSQL);
> 
> }
> 
> void conecta()
> 
> {
> 
> try {
> 
> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
> 
> } catch (Exception e) {
> 
> taSQL.append("Verificando se existe o Driver ODBC.\n");
> 
> taSQL.append(e.toString());   //  <-- e aqui que ele d� o erro
> 
> }
> 
> taSQL.append("Conectando...");
> 
> Statement stmt = null;
> 
> Connection con=null;
> 
> try {
> 
> con = DriverManager.getConnection (
> 
> URL,
> 
> username,
> 
> password);
> 
> stmt = con.createStatement();
> 
> taSQL.append("CONECTADO!!!!!\n");
> 
> } catch (Exception e) {
> 
> taSQL.append("problems connecting to "+URL+"\n");
> 
> }
> 
> }
> 
> }
> 
> 
> 
> ---------------------------------------------------
> Marcio Manoel Garcia - ManGar
> [EMAIL PROTECTED]
> ---------------------------------------------------

-- 

Bruno.
______________________________________________________________________
Bruno Peres Ferreira de Souza                         Sun Microsystems
System Engineer - Java Technologist         [EMAIL PROTECTED]
        if I fail, if I succeed, at least I live as I believe
* Para nao receber mais e-mails da lista, acesse 
<http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail, escolha a 
lista <[EMAIL PROTECTED]> e de um <submit>.

Responder a