这是我的原程序import java.sql.*;
import javax.sql.*;
import java.util.Hashtable;
import javax.naming.*;
import javax.naming.spi.*;
import oracle.jdbc.driver.*;
import oracle.jdbc.pool.OracleDataSource;public class DataSource {
public static void main(String[] args) { try {
Hashtable env = new Hashtable(5);
env.put(
Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.fscontext.RefFSContextFactory");
Context ctx = new InitialContext(env);
OracleDataSource ds =
(OracleDataSource) ctx.lookup("jdbc/orcl");  //orcl是全局数据库,是不是这里该这样写??????
Connection conn = ds.getConnection("test", "test"); Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from a_a");
while(rs.next()){
System.out.println(rs.getString(1) + "|" + rs.getString(2));
}
} catch (Exception ex) {
}

}
}他抱的错误是:
java.lang.NoClassDefFoundError: com/sun/jndi/toolkit/chars/CharacterDecoder
at com.sun.jndi.fscontext.RefFSContextFactory.createContext(RefFSContextFactory.java:42)
at com.sun.jndi.fscontext.RefFSContextFactory.createContextAux(RefFSContextFactory.java:47)
at com.sun.jndi.fscontext.FSContextFactory.getInitialContext(FSContextFactory.java:49)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
at jndi.DataSource.main(DataSource.java:26)
Exception in thread "main" 
这个类是干什么的 com/sun/jndi/toolkit/chars/CharacterDecoder,怎么没有找到