请问关于weblogic.jndi.WLInitialContextFactory的问题

crazycy 2004-04-21 02:08:48
我建了一个工程jdbc_direct
建立了一个应用程序jdbc_direct
然后建立一个类:jdbc_direct.java
其代码:
package jdbcexample;
import java.sql.*;
import javax.naming.*;
import javax.sql.*;
import java.util.*;
import javax.rmi.*;

public class Example1 {

public static void main(String[] args) {
DataSource ds = null;
Context ctx = null;
Connection myConn = null;
try
{
/* 获得WebLogic ServerJNDI初始上下文信息
*/
ctx = getInitialContext();
/* 建立数据源对象
*/
ds = (javax.sql.DataSource)
ctx.lookup("cyoracleDataSource");
}
catch (Exception E)
{
System.out.println("Init Error: " + E);
}
Statement myStatement=null;
ResultSet myResultSet=null;
try
{
//建立连接
myConn = ds.getConnection();
// 建立语句对象
myStatement = myConn.createStatement();
//建立结果集对象
myResultSet = myStatement.executeQuery(
"SELECT * from SCOTT.EMP"
);
//遍历结果集对象,访问每一条记录,输出full_name字段
while(myResultSet.next())
{
System.out.println("the employee full name is " + myResultSet.getString("ENAME"));
}
//关闭结果集
myResultSet.close();
}
catch (SQLException e)
{
System.out.println("Error code = " + e.getErrorCode());
System.out.println("Error message = " + e.getMessage());
}
finally
{
try
{
// close the Statement object using the close() method
if (myStatement != null)
{
myStatement.close();
}
// close the Connection object using the close() method
if (myConn != null)
{
myConn.close();
}
}
catch (SQLException e)
{
System.out.println("Error code = " + e.getErrorCode());
System.out.println("Error message = " + e.getMessage());
}
}

}
private static Context getInitialContext() throws Exception {
String url = "t3://localhost:7001";
String user = "cuiyi";
String password = "12345678";
Properties properties = null;
try {
properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, url);
if (user != null) {
properties.put(Context.SECURITY_PRINCIPAL, user);
properties.put(Context.SECURITY_CREDENTIALS, password == null ? "" : password);
}
return new InitialContext(properties);
}
catch(Exception e) {
throw e;
}
}

}

我用的是oracle9i数据库 jb+weblogic来开发 数据源JDBC连接池配制没问题
可是为什么总是在编译的时间提示:
E:\JBuilder9\jdk1.4\bin\javaw -classpath "C:\J2EE应用开发(JB+weblogic)\weblogic\源代码\第4章\jdbcexample\classes;E:\JBuilder9\jdk1.4\demo\jfc\Java2D\Java2Demo.jar;E:\JBuilder9\jdk1.4\demo\plugin\jfc\Java2D\Java2Demo.jar;E:\JBuilder9\jdk1.4\jre\lib\charsets.jar;E:\JBuilder9\jdk1.4\jre\lib\jaws.jar;E:\JBuilder9\jdk1.4\jre\lib\jce.jar;E:\JBuilder9\jdk1.4\jre\lib\jsse.jar;E:\JBuilder9\jdk1.4\jre\lib\rt.jar;E:\JBuilder9\jdk1.4\jre\lib\sunrsasign.jar;E:\JBuilder9\jdk1.4\jre\lib\ext\dnsns.jar;E:\JBuilder9\jdk1.4\jre\lib\ext\ldapsec.jar;E:\JBuilder9\jdk1.4\jre\lib\ext\localedata.jar;E:\JBuilder9\jdk1.4\jre\lib\ext\sunjce_provider.jar;E:\JBuilder9\jdk1.4\jre\lib\im\indicim.jar;E:\JBuilder9\jdk1.4\lib\dt.jar;E:\JBuilder9\jdk1.4\lib\htmlconverter.jar;E:\JBuilder9\jdk1.4\lib\tools.jar" jdbcexample.Example1


java.lang.NullPointerException

at jdbcexample.Example1.main(Example1.java:30)


Exception in thread "main" Init Error: javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]

找不到weblogic.jndi.WLInitialContextFactory呢?
我把weblogic81下的server下的lib下的weblogic.jar 拷贝到了c:\jdk\lib下并加载到环境变量里了,请问还需要做什么来补救?

...全文
569 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazycy 2004-04-23
  • 打赏
  • 举报
回复
参与就有分 我结贴
crazycy 2004-04-23
  • 打赏
  • 举报
回复
(熬了2天)我解决了
cpucooler 2004-04-23
  • 打赏
  • 举报
回复
我的可以连:
结果如下:
你比较一下吧:
F:\JBuilder9\jdk1.4\bin\javaw -classpath "F:\shen\jdbc_direct\classes;F:\bea\weblogic700\server\lib\weblogic.jar;F:\bea\weblogic700\server\lib\webservices.jar;F:\JBuilder9\jdk1.4\demo\jfc\Java2D\Java2Demo.jar;F:\JBuilder9\jdk1.4\demo\plugin\jfc\Java2D\Java2Demo.jar;F:\JBuilder9\jdk1.4\jre\lib\charsets.jar;F:\JBuilder9\jdk1.4\jre\lib\ext\dnsns.jar;F:\JBuilder9\jdk1.4\jre\lib\ext\ldapsec.jar;F:\JBuilder9\jdk1.4\jre\lib\ext\localedata.jar;F:\JBuilder9\jdk1.4\jre\lib\ext\sunjce_provider.jar;F:\JBuilder9\jdk1.4\jre\lib\im\indicim.jar;F:\JBuilder9\jdk1.4\jre\lib\jaws.jar;F:\JBuilder9\jdk1.4\jre\lib\jce.jar;F:\JBuilder9\jdk1.4\jre\lib\jsse.jar;F:\JBuilder9\jdk1.4\jre\lib\rt.jar;F:\JBuilder9\jdk1.4\jre\lib\sunrsasign.jar;F:\JBuilder9\jdk1.4\lib\dt.jar;F:\JBuilder9\jdk1.4\lib\htmlconverter.jar;F:\JBuilder9\jdk1.4\lib\tools.jar" jdbc_direct.Example1
the employee full name is SMITH
the employee full name is ALLEN
the employee full name is WARD
the employee full name is JONES
the employee full name is MARTIN
the employee full name is BLAKE
the employee full name is CLARK
the employee full name is SCOTT
the employee full name is KING
the employee full name is TURNER
the employee full name is ADAMS
the employee full name is JAMES
the employee full name is FORD
the employee full name is MILLER
crazycy 2004-04-21
  • 打赏
  • 举报
回复
是运行时
(run using default(weblogic启动后))
廖雪峰 2004-04-21
  • 打赏
  • 举报
回复
我不知道你到底是编译出错还是运行出错????

编译出错不可能报“NullPointerException”

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧