在csdn上下载了jar包,解压后有4个jar文件,分别是:jtds-1.2.jar,log4j-1.2.6.jar,mssqlserver2.jar,sqljdbc.jar,我已将它导入了项目的WEB-INF\lib 目录下,我编辑了连接代码,代码如下:package s2jsp.sg.ch03;
import java.sql.*;
public class ConnectionManager {
private static final String DRIVER_CLASS="com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static final String DATABASE_URL="jdbc:microsoft:sqlserver://localhost:8080;DatabaseName=news";
private static final String DATABASE_USER="sa";
private static final String DATABASE_PASSWORD="sa";
public static Connection getConnection(){
Connection dbConnection=null;
try{
Class.forName(DRIVER_CLASS);
dbConnection=DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD);
}catch(Exception e){
e.printStackTrace();
}
return dbConnection;
}
public static void closeConnection(Connection dbConnection){
try{
if((dbConnection !=null) && (!dbConnection.isClosed())){
dbConnection.close();
}
}catch(SQLException sqlEx){
sqlEx.printStackTrace();
}
}
public static void closeResultSet(ResultSet res){
try{
if(res!=null){
res.close();
res=null;
}
}catch(SQLException e){
e.printStackTrace();
}
}
public static void closeStatement(PreparedStatement pStatement){
try{
if(pStatement!=null){
pStatement.close();
pStatement=null;
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
最后测试了一下,它总是提示:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at s2jsp.sg.ch03.ConnectionManager.getConnection(ConnectionManager.java:12)
at s2jsp.sg.ch03.NewsFirstTitleDB2.main(NewsFirstTitleDB2.java:16)
Exception in thread "main" java.lang.NullPointerException
at s2jsp.sg.ch03.NewsFirstTitleDB2.main(NewsFirstTitleDB2.java:18)
请教大虾们,是不是我jar包下错了,还是我的代码写错了,先谢谢了.
import java.sql.*;
public class ConnectionManager {
private static final String DRIVER_CLASS="com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static final String DATABASE_URL="jdbc:microsoft:sqlserver://localhost:8080;DatabaseName=news";
private static final String DATABASE_USER="sa";
private static final String DATABASE_PASSWORD="sa";
public static Connection getConnection(){
Connection dbConnection=null;
try{
Class.forName(DRIVER_CLASS);
dbConnection=DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD);
}catch(Exception e){
e.printStackTrace();
}
return dbConnection;
}
public static void closeConnection(Connection dbConnection){
try{
if((dbConnection !=null) && (!dbConnection.isClosed())){
dbConnection.close();
}
}catch(SQLException sqlEx){
sqlEx.printStackTrace();
}
}
public static void closeResultSet(ResultSet res){
try{
if(res!=null){
res.close();
res=null;
}
}catch(SQLException e){
e.printStackTrace();
}
}
public static void closeStatement(PreparedStatement pStatement){
try{
if(pStatement!=null){
pStatement.close();
pStatement=null;
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
最后测试了一下,它总是提示:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at s2jsp.sg.ch03.ConnectionManager.getConnection(ConnectionManager.java:12)
at s2jsp.sg.ch03.NewsFirstTitleDB2.main(NewsFirstTitleDB2.java:16)
Exception in thread "main" java.lang.NullPointerException
at s2jsp.sg.ch03.NewsFirstTitleDB2.main(NewsFirstTitleDB2.java:18)
请教大虾们,是不是我jar包下错了,还是我的代码写错了,先谢谢了.
sqlserver2000?
com.microsoft.jdbc.sqlserver.SQLServerDriver
找不到jar包啊java.lang.NullPointerException
这里还报空指针异常呢
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class DBCon {
public static String driver="oracle.jdbc.driver.OracleDriver";
public static String url="jdbc:oracle:thin:@192.168.0.174:1521:ORCL";
public static String user="scott";
public static String pwd="tiger";
public static Connection getConnection(){
try {
Class.forName(driver);
Connection con=DriverManager.getConnection(url, user, pwd);
System.out.println("con success");
return con;
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public static void close(Connection con,Statement stm,ResultSet rs){
if(con!=null){
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(stm!=null){
try {
stm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
DBCon.getConnection();
}
}
给你个例子 这是连oracle的
driver 账号密码 url改成你自己的数据库对应的版本
还有
DATABASE_URL="jdbc:microsoft:sqlserver://localhost:8080;DatabaseName=news";
这个地方的连接端口是8080?你确认不是默认的1433吗?
我这个数据库没学过,所以帮不上什么忙