J2EE中使用Weblogic数据库连接池的问题:weblogic.jndi.WLInitialContextFactory

crazycy 2004-04-23 01:39:11
我新建了一个工程jdbc_direct
然后添加了一个类:jdbcpool.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 = "";//对应的weblogic管理名字
String password = "";//密码
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;
}
}

}

在开启了weblogic后,然后编译,运行该文件的时间,总是提示:
Init Error: javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]
Hit uncaught exception java.lang.NullPointerException

请问错误出在哪里?
先谢后给分
...全文
328 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazycy 2004-04-23
  • 打赏
  • 举报
回复
把weblogic.jar加到classpath (这个我在出现错误的时间已经加了)
你的weblogic管理界面的连接池有没有配置成功啊(测试通过而且没问题)
chashui 2004-04-23
  • 打赏
  • 举报
回复
up
frankh2002 2004-04-23
  • 打赏
  • 举报
回复
把weblogic.jar加到classpath
Raulgodle 2004-04-23
  • 打赏
  • 举报
回复
so ... y

原来是这样
orant 2004-04-23
  • 打赏
  • 举报
回复
你的weblogic管理界面的连接池有没有配置成功啊
wu_apple 2004-04-23
  • 打赏
  • 举报
回复
up

67,512

社区成员

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

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