Hi Rohit, When an applet is delivered to a web browser, the computer that browser is running on will most likely not have the Oracle JDBC driver installed, as well as not have the necessary CLASSPATH pointing to it. As Paul pointed out, you need to include the diver files in the archive (zip, jar, cab). Also, if the applet needs to access a DB server running on a computer other than the one the appet comes from, you'll need to sign the applet to get around Java's built in applet security "sandbox".
D rohit kuttappan wrote:
Its, already there. Still doesn't work. Besides, if it were a classpath problem, it wouldn't have worked in appletviewer either or would it?
----- Original Message -----
*From:* Gabriel Paunescu <mailto:[EMAIL PROTECTED]>
*To:* jdjlist <mailto:[EMAIL PROTECTED]>
*Sent:* Tuesday, February 18, 2003 3:33 PM
*Subject:* [jdjlist] RE: JDBC Applet Help
Hi,
You must have in the CLASSPATH the JDBC driver for Oracle;
____________________________________________
*Gabriel Paunescu* /*
*/
*Senior Programmer*
Info World
Bucuresti, Romania
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
____________________________________________
-----Original Message-----
*From:* rohit kuttappan [mailto:[EMAIL PROTECTED]]
*Sent:* 16 februarie 2003 03:37
*To:* jdjlist
*Subject:* [jdjlist] JDBC Applet Help
Hello List,
I'm wrote some code that accesses a Oracle database
(Personal Edition) running on Windows98 machine. I was
successful in running it with appletviewer, but am not being
able to run it on I.E.5. Could you pl. go though the following
code and tell me what I'm doing wrong, or what additional
steps I need to take to be able to run the applet on I.E.
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:oracle:thin:";
String query = "select COF_NAME, PRICE from COFFEES";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch(Exception ex) {
setError("Can't find Database driver class: " + ex);
return;
}
try {
Vector results = new Vector();
Connection con = DriverManager.getConnection(url,
"scott", "tiger");
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();
}
}
This is my HTML code:
<HTML>
<HEAD>
<TITLE> Query Output </TITLE>
</HEAD>
<BODY>
Output from query
select NAME, PRICE from COFFEES
<APPLET CODE="OutputApplet.class"
codebase="D:/Java2SE/prgrms/JDBC/codeExamples/firstEdition"
archive="C:/Oracle/Ora81/jdbc/lib/classes111.zip" WIDTH=550
HEIGHT=300>
</APPLET>
</BODY>
</HTML>
The error I'm getting when running on I.E 5 is : can't find
Datavbase driver class: java.lang.ClassNotFoundException:
oracle.jdbc.driver.OracleDriver.
thanks in anticipation,
yours truly,
Rohit.
---
You are currently subscribed to jdjlist as:
[EMAIL PROTECTED]
To unsubscribe send a blank email to
[EMAIL PROTECTED]
---
You are currently subscribed to jdjlist as:
[EMAIL PROTECTED]
To unsubscribe send a blank email to
[EMAIL PROTECTED]
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.449 / Virus Database: 251 - Release Date: 27/01/2003
---
You are currently subscribed to jdjlist as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]
--- You are currently subscribed to jdjlist as: [EMAIL PROTECTED] To unsubscribe send a blank email to [EMAIL PROTECTED]
