still confuse; no suitable driver

From: radifan karami <radif_k(at)yahoo(dot)com>
To: pgsql-interfaces(at)postgresql(dot)org
Subject: still confuse; no suitable driver
Date: 2000-06-28 13:08:13
Message-ID: 20000628130813.11407.qmail@web5302.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

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/

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Kardos, Dr. Andreas 2000-06-28 13:38:00 Re: ODBC question
Previous Message Carolyn Lu Wong 2000-06-28 12:40:44 ODBC question