package com.dxszf.db;
import java.sql.*;public class DbOperation { Connection conn = null; //申明一个连接对象(全局)
private String sqlServerURL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=DXSZF"; //确定值
private String sqlServerDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //为没有连接池的sqlserver连接准备
public DbOperation(){
try {
Class.forName(sqlServerDriver);
conn = DriverManager.getConnection(sqlServerURL, "xx", "1234");
} catch (Exception e) {
System.out.println(e.toString());
}
}
public DbOperation(String dsn){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("JDBC:ODBC:" + dsn);
} catch (Exception e) {
System.out.println(e.toString());
}
}
}问什么下面会出现java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
问题是我用同样的代码直接复制粘贴另一个web项目的时候是可以连接的,没有报错,是不是哪里设置有问题
SQL2000:String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; // 加载JDBC驱动String dbURL = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=lianxi"; // 连接服务器和数据库
SQL2005 && 2008:String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加载JDBC驱动String dbURL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=lianxi"; // 连接服务器和数据库
--->
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
这个不是根据数据库版本来区分的,而是根据你使用哪种驱动来区分的.
一种方式:
msbase.jar,mssqlserver.jar,msutil.jar
使用这三个驱动包的话:驱动类:com.microsoft.jdbc.sqlserver.SQLServerDriver
数据库URL:jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=数据库名;SelectMethod=cursor另一种:
sqljdbc.jar
使用这个驱动包的话,
驱动类:com.microsoft.sqlserver.jdbc.SQLServerDriver
数据库URL:jdbc:sqlserver://localhost:1433;databasename=数据库名
这是链接Sql2005
可用下面测试
package javabean;
import java.sql.*;
public class SQLconn {
private String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动
private String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=Student"; //连接服务器和数据库Student
private final String userName = "sa"; //默认用户名
private final String userPwd = "123"; //密码
private Connection dbConn;//连接
private Statement stmt;
public SQLconn(){ try{
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
stmt=dbConn.createStatement();
} catch (Exception e) {
e.printStackTrace();
} }
/**
* 插入数据操作
* @param sql
*/
public void insertINTOinfor(String sql){
try{
stmt.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 查询数据操作
* @param sql
* @throws SQLException
*/
public ResultSet selectInfor(String sql) throws SQLException{
ResultSet rs;
rs=stmt.executeQuery(sql);
return rs;
}
/**
* 删除数据操作
* @param sql
*/
public void deleteInfor(String sql){
try{
stmt.executeUpdate(sql);
System.out.println("删除成功!");
}catch (Exception e) {
e.printStackTrace();
}
}
/**
* 修改数据操作
* @param sql
*/
public void updateInfor(String sql){
try{
stmt.executeUpdate(sql);
System.out.println("修改成功!");
}catch (Exception e) {
e.printStackTrace();
}
}}
msbase.jar,mssqlserver.jar,msutil.jar
使用这三个驱动包的话:驱动类:com.microsoft.jdbc.sqlserver.SQLServerDriver
数据库URL:jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=数据库名;SelectMethod=cursor另一种:
sqljdbc.jar
使用这个驱动包的话,
驱动类:com.microsoft.sqlserver.jdbc.SQLServerDriver
数据库URL:jdbc:sqlserver://localhost:1433;databasename=数据库名我想问这两种驱动有什么不同啊~~~