• Jueves 2 de Mayo de 2024, 07:15

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Seldon

Páginas: [1]
1
Java / Jdbc Access !!!
« en: Miércoles 19 de Mayo de 2004, 18:15 »
:angry: Estimados gurus de java, tengo un codigo de ejemplo de un applet que se conecta a una base access, lo ejecuto pero me sale el siguiente error
 

Can't find Database driver class: java.security.AcessControlExcepcion: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odb)

me podrian ayudar por fa

el siguiente es el codigo :

/*
 * Copyright 2003 Sun Microsystems, Inc.  ALL RIGHTS RESERVED.
 * Use of this software is authorized pursuant to the terms of the license found at
 * http://developer.java.sun.com/berkeley_license.html.
 */

/**
 * This is a demonstration JDBC applet.
 * It displays some simple standard output from the Coffee database.
 */

   import java.applet.Applet;
   import java.awt.Graphics;
   import java.util.Vector;
   import java.sql.*;

   public class OutputApplet extends Applet implements Runnable {
      private Thread worker;
      private Vector queryResults;
      private String message = "Initializing";
   
      public synchronized void start() {
      // Every time "start" is called we create a worker thread to
      // re-evaluate the database query.
         if (worker == null) {   
            message = "Connecting to database";
            worker = new Thread(this);
            worker.start();
         }
      }
   
    /**
     * The "run" method is called from the worker thread.  Notice that
     * because this method is doing potentially slow databases accesses
     * we avoid making it a synchronized method.
     */
   
      public void run() {
         String url = "jdbc:odbc:myDataSource";
         String query = "select COF_NAME, PRICE from COFFEES";
     
         try {
            Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
         }
         
            catch(Exception ex) {
               setError("Can't find Database driver class: " + ex);
               return;
            }
     
         try {
            Vector results = new Vector();
            Connection con = DriverManager.getConnection(url,"", "");
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            while (rs.next()) {
               String s = rs.getString("COF_NAME");
               float f = rs.getFloat("PRICE");
               String text = s + "     " + f;
               results.addElement(text);
            }
         
            stmt.close();
            con.close();
         
            setResults(results);
         
         }
            catch(SQLException ex) {
               setError("SQLException: " + ex);
            }
      }
   
    /**
     * The "paint" method is called by AWT when it wants us to
     * display our current state on the screen.
     */
   
      public synchronized void paint(Graphics g) {
      // If there are no results available, display the current message.
         if (queryResults == null) {
            g.drawString(message, 5, 50);
            return;
         }
     
      // Display the results.
         g.drawString("Prices of coffee per pound:  ", 5, 10);
         int y = 30;
         java.util.Enumeration enum = queryResults.elements();
         while (enum.hasMoreElements()) {
            String text = (String)enum.nextElement();
            g.drawString(text, 5, y);
            y = y + 15;
         }
      }
   
    /**
     * This private method is used to record an error message for
     * later display.
     */
   
      private synchronized void setError(String mess) {
         queryResults = null;   
         message = mess;   
         worker = null;
      // And ask AWT to repaint this applet.
         repaint();
      }
   
    /**
     * This private method is used to record the results of a query, for
     * later display.
     */
   
      private synchronized void setResults(Vector results) {
         queryResults = results;
         worker = null;
      // And ask AWT to repaint this applet.
         repaint();
      }
   }

Páginas: [1]