RE: still confuse; no suitable driver

Поиск
Список
Период
Сортировка
От Joe Shevland
Тема RE: still confuse; no suitable driver
Дата
Msg-id MJEMLFCFPOPOFFFLIIDGGEGCCAAA.shevlandj@kpi.com.au
обсуждение исходный текст
Ответ на still confuse; no suitable driver  (radifan karami <radif_k@yahoo.com>)
Список pgsql-interfaces
A few things to be aware of:

i) you're attempting to make the connection from the applet (client browser) to your host database on
'graphium.xxx.ac.jp',which will throw a security exception unless you use signed applets because of the applet's
securitysandbox (appletviewer can be told to ignore these). Applets are generally only allowed to make socket
connectionsback to the place they were served from.
 

ii) IE has a buggy JVM which requires this workaround:
   Class.forName("org.postgresql.Driver").newInstance();

to properly register the driver. I've never encountered this but I've heard it reported a bit, it may be a red
herring.

Regards,
Joe

>-----Original Message-----
>From: pgsql-interfaces-owner@hub.org
>[mailto:pgsql-interfaces-owner@hub.org]On Behalf Of radifan karami
>Sent: Wednesday, 28 June 2000 11:08 PM
>To: pgsql-interfaces@postgresql.org
>Subject: [INTERFACES] still confuse; no suitable driver
>
>
>I'm sory if may question is covered in mailing-list
>archive.
>I found many same questions ( and solutions ) in that
>archive about driver problem when running jdbc-applet
>from browser.
>
>I use Linux, Postgresql 7 and Java 1.2.2.
>
>I'm new commer in Java, and try to make the first
>jdbc-applet code following the tutorial in
>java.sun.com.
>
>It's working perfectly by appletviewer.
>
>I put my applet code ( .class ) and postgresql.jar
>file in the web server ( in my home page ), separate
>from my database in may host.
>For example my homepage is http://www.xxx.ac.jp/~radif
>and my host name is graphium.xxx.ac.jp.
>
>There is an error "Javalang.ClassNotFoudException: No
>suitable driver ", when I run applet from browser.
>
>I read many solutions in archive, but still not
>understand. Please give a simple and clear solution.
>
>** The html code is :
><HTML>
><HEAD>
><TITLE> Query Output </TITLE>
></HEAD>
><BODY>
>Output from query 
>select NAME, PRICE from COFFEES 
><APPLET CODE="myapplet" ARCHIVE="postgresql.jar"
>width=600 height=300>
></APPLET>
></BODY>
></HTML>
>
>
>** The applet code is :
>import java.applet.Applet;
>import java.awt.Graphics;
>import java.util.Vector;
>import java.sql.*;
>
>public class myapplet 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:postgresql://graphium.xxx.ac.jp/coffeebreak";
>    String query = "select COF_NAME, PRICE from COFFEES";
>    
>    try {
>        Class.forName("org.postgresql.Driver");
>    } catch(java.lang.ClassNotFoundException ex) {
>        setError("Masalah pada driver: " + ex);
>        return;
>    }
>
>    try {
>        Vector results = new Vector();
>        Connection con =
>DriverManager.getConnection(url,"my", "");
>        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();
>    }
>}
>
> 
>Thank you & regard,
>
>-Radifan-
>  
>
>__________________________________________________
>Do You Yahoo!?
>Get Yahoo! Mail - Free email you can access from anywhere!
>http://mail.yahoo.com/
>



В списке pgsql-interfaces по дате отправления:

Предыдущее
От: "Kardos, Dr. Andreas"
Дата:
Сообщение: Re: ODBC question
Следующее
От: Peter Mount
Дата:
Сообщение: RE: still confuse; no suitable driver