我写了段代码,主要是想通过weblogic访问数据库,但是运行时出错:Could not find the main class.代码如下:请大侠们帮忙啊!

时间:2021-12-03 21:28:35
我写了段代码,主要是想通过weblogic访问数据库,但是运行时出错:Could not find the main class.代码如下:
ackage testdb;

import java.sql.*;
import javax.naming.*;
import javax.sql.*;
import java.util.Properties;
import javax.rmi.PortableRemoteObject;

public class ConnDBMS {
  public ConnDBMS() {
  }
  public static  void main(String[] args){
  DataSource ds = null;
  Context ctx = null;
  Connection MyConn = null;
  try{
    ctx = getInitialcontext();
    ds = (javax.sql.DataSource)ctx.lookup("DataS_Mizuda") ;
  }
  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 employee");
      while(myResultSet.next())
      {
        System.out.println("Name is:" + myResultSet.getString("EmpName"));
      }
      myResultSet.close();
    }
    catch(SQLException e){
      System.out.println("Error code = " + e.getErrorCode());
      System.out.println("Error message = " + e.getMessage());
    }
    finally{
      try{
        if(myStatement != null)
        {
          myStatement.close();
        }
        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 = "T17://Localhost:7001";
    String user = "tang";
    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;
    }
  }

}
出现编译错误:

java.lang.NoClassDefFoundError: weblogic/Server
Exception in thread "main"

12 个解决方案

#1


怎么没人帮忙啊!自己up一下。

#2


你没有设置默认的运行的类

#3


你这类想运行怎么没有main函数啊

#4


如果是oracle的数据库,只要加上下面代码就可以了
Class.forName("oracle.jdbc.OracleDriver");

#5


回答别人问题的时候要认真!!!!!
说什么没有main函数!!!你眼睛喘气用啊????不是写着呢吗??????如果这么简单还用问你啊。。人家都会用weblogic访问数据库还能不会写main函数啊??????
这种人搂主就该扣他分!!!!!!

#6


我看了你的代码,也不知道我说得对不对。。。。我没有调试,没用weblogic了。。
你在weblogic中设置数据圆了吗???应该是用连接池连接吧??
如果是这样的话应该是jdbc/.....你怎么不是这个形式啊???我感觉好像是你得连接出了问题。。。
不知道我说得对不对。。。你自己看看。。。。

#7


程序应该是没有什么问题,还是看看你的weblogic配置的数据源与你写的是否一致

#8


学习

#9


Weblogic.jndi.WLInitialContextFactory第一个字母应该小写。url应该不是T17应该是T3吧。其他问题未发现,在我的环境下运行通过了。你可以先建一个application,然后把你的代码拷贝到application.java中,然后把上面的错误改过来,祝你好运。好像不是第一次和你打交道了。

#10


try{
        if(myStatement != null)
        {
          myStatement.close();
        }
        if(MyConn != null){
          MyConn.close();
        }
      }
      catch(SQLException e){
        System.out.println("Error code = " + e.getErrorCode());
        System.out.println("Error message = " + e.getMessage());
      }
这不是一段好代码,如果关闭statement过程中出现异常,connection关闭将被眺过,一般是分成两个try

#11


学习

#12


谢谢大家,我再好好试试,决不辜负大家的好意,呵呵!

#1


怎么没人帮忙啊!自己up一下。

#2


你没有设置默认的运行的类

#3


你这类想运行怎么没有main函数啊

#4


如果是oracle的数据库,只要加上下面代码就可以了
Class.forName("oracle.jdbc.OracleDriver");

#5


回答别人问题的时候要认真!!!!!
说什么没有main函数!!!你眼睛喘气用啊????不是写着呢吗??????如果这么简单还用问你啊。。人家都会用weblogic访问数据库还能不会写main函数啊??????
这种人搂主就该扣他分!!!!!!

#6


我看了你的代码,也不知道我说得对不对。。。。我没有调试,没用weblogic了。。
你在weblogic中设置数据圆了吗???应该是用连接池连接吧??
如果是这样的话应该是jdbc/.....你怎么不是这个形式啊???我感觉好像是你得连接出了问题。。。
不知道我说得对不对。。。你自己看看。。。。

#7


程序应该是没有什么问题,还是看看你的weblogic配置的数据源与你写的是否一致

#8


学习

#9


Weblogic.jndi.WLInitialContextFactory第一个字母应该小写。url应该不是T17应该是T3吧。其他问题未发现,在我的环境下运行通过了。你可以先建一个application,然后把你的代码拷贝到application.java中,然后把上面的错误改过来,祝你好运。好像不是第一次和你打交道了。

#10


try{
        if(myStatement != null)
        {
          myStatement.close();
        }
        if(MyConn != null){
          MyConn.close();
        }
      }
      catch(SQLException e){
        System.out.println("Error code = " + e.getErrorCode());
        System.out.println("Error message = " + e.getMessage());
      }
这不是一段好代码,如果关闭statement过程中出现异常,connection关闭将被眺过,一般是分成两个try

#11


学习

#12


谢谢大家,我再好好试试,决不辜负大家的好意,呵呵!