当前位置: 技术问答>java相关
使用jdbc的程序出现java.lang.NoClassDefFoundError的异常
来源: 互联网 发布时间:2015-11-11
本文导语: 很简单的代码,在JCreator的集成环境中可以执行,但在命令行下不能运行,要做哪些设置?代码如下: import java.io.*; import java.sql.*; class SimpleJDBC{ public static void main(String[] args) throws SQLException,IOException,ClassNotFound...
很简单的代码,在JCreator的集成环境中可以执行,但在命令行下不能运行,要做哪些设置?代码如下:
import java.io.*;
import java.sql.*;
class SimpleJDBC{
public static void main(String[] args) throws SQLException,IOException,ClassNotFoundException{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dsURL="jdbc:odbc:JavaDb";
Connection connection=DriverManager.getConnection(dsURL);
if (connection==null){
System.out.println("Could not establish connection.");
}else{
System.out.println("Connection successfully established.");
Statement statement=connection.createStatement();
int rc=0;
rc=statement.executeUpdate("DROP TABLE EMPLOYEE");
rc=statement.executeUpdate("CREATE TABLE EMPLOYEE(EmpId integer,LastName char(30),FirstName char(30))");
statement.close();
connection.close();
}
}
}
import java.io.*;
import java.sql.*;
class SimpleJDBC{
public static void main(String[] args) throws SQLException,IOException,ClassNotFoundException{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dsURL="jdbc:odbc:JavaDb";
Connection connection=DriverManager.getConnection(dsURL);
if (connection==null){
System.out.println("Could not establish connection.");
}else{
System.out.println("Connection successfully established.");
Statement statement=connection.createStatement();
int rc=0;
rc=statement.executeUpdate("DROP TABLE EMPLOYEE");
rc=statement.executeUpdate("CREATE TABLE EMPLOYEE(EmpId integer,LastName char(30),FirstName char(30))");
statement.close();
connection.close();
}
}
}
|
是执行到Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");出错的吗?如果是就是你的classpath没有配置好。在你的“环境变量”里的classpath里头设上你的jdk的路径。就象这样(.;E:JBuilder7jdk1.3.1lib;E:JBuilder7jdk1.3.1libifxjdbc.jar;E:JBuilder7jdk1.3.1libifxjdbc-g.jar)
注意,前边的(.)一定要
注意,前边的(.)一定要
|
classpath没配好,sun的jdbcodbc driver随jdk附带的。
|
把jdbc的.jar的路径包含入系统变量的classpath中去
|
JDBC Connection Pool 的配置 以Mysql 小型数据库为例
在进行此项配置之前,先将欲使用的 数据库JDBC 驱动 Jar 文件放到D:beawlserver6.1libjdbc 目录下(建议这样做,没有jdbc目录就建一个呗),然后编辑D:beawlserver6.1configmydomain 下的 startWebLogic.cmd 文件,在 classpath 中加入数据库的JDBC驱动文件,如红字部分:
:runWebLogic
echo on
set PATH=.bin;.binoci817_8;d:oracleora81bin;%PATH%
set CLASSPATH=.libcr_wls60f.jar;.libweblogic_sp.jar;.libweblogic.jar;.libjdbcmysql.jar
这样 Weblogic 启动时才会加载欲使用的数据库JDBC驱动,配置也才会正常,否则会报错。
1)在Weblogic控制台中依次展开Services JDBC Connection Pools
2)单击 Configure a new JDBC Connection Pool...
3)填入每一项参数,结果如下:
url: jdbc:mysql://127.0.0.1:3306/test
driver classname:org.gjt.mm.mysql.Driver
properties(key=value):user=root
4) 别忘了点一下 Apply 即应用一下:)
5) Connections 签下的 初始容量、最大容量、容量增长等可根据自已需要配置
6) 还有至关重要的最后一步,我们做的以上配置工作还没有真正的应用到 Weblogic 上,所以还差一步,
选 Targets 签,选 Servers 签,选 Available (可用)中的 myserver ,然后点"-->" ,再点 Apply 应用一下。
这样我们所做的工作才会真正有效, Weblogic 也才会认识我们配置的 JDBC Connection Pool
在进行此项配置之前,先将欲使用的 数据库JDBC 驱动 Jar 文件放到D:beawlserver6.1libjdbc 目录下(建议这样做,没有jdbc目录就建一个呗),然后编辑D:beawlserver6.1configmydomain 下的 startWebLogic.cmd 文件,在 classpath 中加入数据库的JDBC驱动文件,如红字部分:
:runWebLogic
echo on
set PATH=.bin;.binoci817_8;d:oracleora81bin;%PATH%
set CLASSPATH=.libcr_wls60f.jar;.libweblogic_sp.jar;.libweblogic.jar;.libjdbcmysql.jar
这样 Weblogic 启动时才会加载欲使用的数据库JDBC驱动,配置也才会正常,否则会报错。
1)在Weblogic控制台中依次展开Services JDBC Connection Pools
2)单击 Configure a new JDBC Connection Pool...
3)填入每一项参数,结果如下:
url: jdbc:mysql://127.0.0.1:3306/test
driver classname:org.gjt.mm.mysql.Driver
properties(key=value):user=root
4) 别忘了点一下 Apply 即应用一下:)
5) Connections 签下的 初始容量、最大容量、容量增长等可根据自已需要配置
6) 还有至关重要的最后一步,我们做的以上配置工作还没有真正的应用到 Weblogic 上,所以还差一步,
选 Targets 签,选 Servers 签,选 Available (可用)中的 myserver ,然后点"-->" ,再点 Apply 应用一下。
这样我们所做的工作才会真正有效, Weblogic 也才会认识我们配置的 JDBC Connection Pool