急求jndi的解答
我写了一段使用jndi的如下,
public class testDataSource {
public testDataSource() {
}
public static void main(String[] args) {
//testDataSource testDataSource1 = new testDataSource();
try{
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.fscontext.RefFSContextFactory");
//env.put(Context.PROVIDER_URL,"file:JNDI");
Context ctx= new InitialContext(env);
System.out.print(ctx.getEnvironment());
ctx.unbind("jdbc/logicsql");
LogicSqlDataSource lds = new LogicSqlDataSource();
lds.setDatabaseName("database");
lds.setPassword("manager");
lds.setUser("system");
lds.setPortNumber(5000);
lds.setServerName("wuhan");
ctx.bind("jdbc/logicsql",lds);
DataSource ds = (DataSource)ctx.lookup("jdbc/logicsql");
ds.getConnection();
}
catch(NamingException e){
System.out.print(e.getMessage());
e.printStackTrace();
}
catch(SQLException e){
}
}
报错为:
{java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory}javax.naming.NoPermissionException; remaining name '"/jdbc"'
at com.sun.jndi.fscontext.FSContext.checkCanWrite(FSContext.java:939)
at com.sun.jndi.fscontext.RefFSContext.setBindings(RefFSContext.java:594)
at com.sun.jndi.fscontext.RefFSContext.bindObject(RefFSContext.java:338)
at com.sun.jndi.fscontext.RefFSContext.bind(RefFSContext.java:169)
at com.sun.jndi.fscontext.FSContext.bind(FSContext.java:167)
at javax.naming.InitialContext.bind(InitialContext.java:355)
at td.testDataSource.main(testDataSource.java:51)
null
}
请问该如何解决???