still confuse; no suitable driver - Mailing list pgsql-interfaces
From | radifan karami |
---|---|
Subject | still confuse; no suitable driver |
Date | |
Msg-id | 20000628130813.11407.qmail@web5302.mail.yahoo.com Whole thread Raw |
Responses |
RE: still confuse; no suitable driver
|
List | 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 AWTto 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 by date: