Newsgroup: it.comp.java
Titolo: DIREI AIUTO A TUTTI APPLET SU EXPLORER

scusate se rompo un po', ma questo è un problema che non riesco a risolvere
senza l'aiuto di qualcuno.
Ho scritto una banale applet che non fa nient'altro che aprire una
connessione con un db Access in locale
La lancio con explorer 4 , 5 qualunque..
In esecuzione a video mi dice "SQLException: no suitable driver", nella java
console mi segnalava "com.ms.securityExceptionEx..."
Quindi ho dedotto problemi con la sandbox, dato che uso il JBuider2 che
lavora con il JDK 1.1.6 posso pensare di "firmarla" per vedere il sistema ma
ahime' non so ne' come ne' dove mettere le mani. La cosa strana e' che
Netscape senza nessuna modifica delle sue configurazioni dopo l'istallazione
ha sempre aperto la connessione senza problemi senza mai segnalare eccezioni
nemmeno nella java console
Ho pensato di catturare piu' eccezioni con un unico try per vedere che
succede ma con sorpresa vedo che invece dell'attesa SecurityException, mi
prende la SQLException dicendo "no suitable driver" e la java console di
Explorer rimane pulita senza errori ma nulla e' cambiato: il db non lo vedo.
vi allego il codice:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import com.sun.java.swing.*;
import java.sql.*;
public class AppletConn extends JApplet {
  boolean isStandalone = false;
  JButton b = new JButton();
  JLabel l = new JLabel();
  //Construct the applet
  public AppletConn() {
  }
//Initialize the applet
  public void init() {
    try {
    jbInit();
    }
    catch (Exception e) {
    e.printStackTrace();
    }
  }
  private void jbInit() throws Exception {
    this.getContentPane().setLayout(null);
    b.setText("Connetti");
    b.setBounds(new Rectangle(0, 0, 139, 23));
    b.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        b_actionPerformed(e);
      }
    });
    l.setText("Attendi...");
    l.setFont(new Font("SansSerif", 0, 10));
    l.setBounds(new Rectangle(1, 26, 497, 25));
    this.setSize(400,300);
    this.getContentPane().add(b, null);
    this.getContentPane().add(l, null);
  }
  void b_actionPerformed(ActionEvent e) {
    try{
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      Connection c = DriverManager.getConnection("jdbc:odbc:north");
      l.setText("Connesso");
    } catch(SecurityException se){    <-----L'ho messa prima perche'
speravo di beccarla ma
        l.setText("Security :"+se);         prende quella SQL
    } catch(SQLException ex) {
        l.setText("SQL :"+ex);
    } catch(ClassNotFoundException ce) {
        l.setText("NotFound :"+ce);
    }
  }
}
sappiate che per far girare le swing includo come tag ARCHIVE dell'html il
file swingall.jar dove sono tutti i class che servono per far fuzionare il
tutto e la gui va e' il resto che mi preoccupa!

       Connection c = DriverManager.getConnection("jdbc:odbc:north");
Mmmm... non sarà che IE non include le classi sun.* ?
Ciao,
 Stefano
----------
"X WindowSSS, teSSSoro mio... lo odieremo per SSSempre"
Bill Gollum
----------


infatti.....

Risalve! Grazie per la celerità ma mi piacerebbe avere una soluzione.
IO ho provato a estrarre la directory sun/jdbc/odbc/ e metterla nella
cartella dov'e' l'applet e in tempi separati da SQLException : class
sun.jdbc.odbc.JdbcOdbcDriver not found, poi non mi trovava
sun.jdbc.odbc.JdbcOdbcObject, poi No suitable driver.
Una cosa che non vi ho detto e' questa: sto lavorando ad un'applet simile
che pero' chiama un driver oracle thin (tipo4) e con explorer ne' dal mio
host ne' dal server dove risiede il db oracle 8.0.5 funziona dando gli
stessi errori mentra netscape funziona bene e sottolineo bene, sia dalla mia
macchina sia caricando dal server. E quelle non sono classi sun... Mah!
L'unica cosa che invito a fare e' quella di scrivere un'applet banale tipo
la mia che non faccia altro che scrivere connesso o meno a video e
intercettare le eccezioni. Vedete che vi fa, se vi funziona con explorer
ditemelo perche' per me e' quasi vitale, ci sto facendo la tesi!
Thanks a tutti voi che mi sarete d'aiuto.
asa...@mare.gol.grosseto.it

 cartella dov'e' l'applet
in realta' dovrebbe essere nella cartella delle classi di Explorer, non
dell'applet....
oppure devi fare un JAR con l'applet e tutte le classi che utilizza, cosi' resti
indipendente dal browser...
Comunque anche le classi Oracle JDBC non fanno parte della "dotazione" standard
di Explorer...

      Connection c = DriverManager.getConnection("jdbc:odbc:north");
