RE: still confuse; no suitable driver

From: "Joe Shevland" <shevlandj(at)kpi(dot)com(dot)au>
To: <pgsql-interfaces(at)postgresql(dot)org>
Subject: RE: still confuse; no suitable driver
Date: 2000-06-28 15:05:54
Message-ID: MJEMLFCFPOPOFFFLIIDGGEGCCAAA.shevlandj@kpi.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 security sandbox (appletviewer can be told to ignore these). Applets are generally only allowed to make socket connections back 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(at)hub(dot)org
>[mailto:pgsql-interfaces-owner(at)hub(dot)org]On Behalf Of radifan karami
>Sent: Wednesday, 28 June 2000 11:08 PM
>To: pgsql-interfaces(at)postgresql(dot)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/
>

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Peter Mount 2000-06-28 15:14:12 RE: still confuse; no suitable driver
Previous Message Kardos, Dr. Andreas 2000-06-28 13:38:00 Re: ODBC question