wood burning stoves 2.0*
The moose likes Applets and the fly likes JDBC connectivity from applet on WPS 6.1 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Applets
Bookmark "JDBC connectivity from applet on WPS 6.1" Watch "JDBC connectivity from applet on WPS 6.1" New topic
Author

JDBC connectivity from applet on WPS 6.1

verduka fox
Ranch Hand

Joined: Jan 18, 2001
Posts: 178
I am trying to connect to a Sybase database from an applet running on WebSphere Portal Server 6.1. I have signed the jar. I receive this error in the Java Console:

NamingException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial

Can anyone advise how I can get around this please? Thanks in advance.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41614
    
  55
Are you using JNDI to acquire the DB connection? That most likely won't work in an applet, since there's no JEE environment that can provide resources. You'll probably need to use the general JDBC way of obtaining connections.

Is this an intranet application? Otherwise I'd be very concerned about security.


Ping & DNS - my free Android networking tools app
verduka fox
Ranch Hand

Joined: Jan 18, 2001
Posts: 178
Thanks for the response. Yes, this is an intranet portlet application.

I don't understand what you mean by "You'll probably need to use the general JDBC way of obtaining connections."

Here's my current db connection code.
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 16020
    
  20

Firstly, I think the applet sandbox expressly forbids JDBC connections. So you'd have to create a signed applet.

Secondly, what you're intending is a 2-tier application. The inadvisability of using a 2-tier architecture was rather graphically demonstrated when the SQL Slammer worm was unleashed.

JDBC opens a port directly into your database server, which makes it a higher risk than if you use an intermediary (3-tier) architecture. I only recommend 2-tier for stuff that's operating entirely inside a firewall.


Customer surveys are for companies who didn't pay proper attention to begin with.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41614
    
  55
Like I said, an applet isn't part of the JEE environment, and thus won't be able to get resources (like a DB connection) through JNDI. So you need to open the connection using Class.forName etc., as you would for any old DB connection.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: JDBC connectivity from applet on WPS 6.1