操作系统:WinXP+SP2
数据库:SQL Server 2000+SP3
JDBC驱动:从http://www.microsoft.com/downloads/info.aspx?na=46&p=5&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f4%2f1%2fd%2f41d3e9c0-64d1-451e-947b-7a4cba273b2d%2fsetup.exe下载的。
安装后,将三个文件拷到%JAVA_HOME%\lib中,然后在%CLASS_PATH%中加入%JAVA_HOME%\lib\msbase.jar;%JAVA_HOME%\lib\mssqlserver.jar;%JAVA_HOME%\msutil.jar
JAVA程序如下:
import java.sql.*;
public class ConSqlserver{
Connection con;
Statement st;
ResultSet rs;
public ConSqlserver(){
try{
String Drivers="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydatabase";
String user="sa";
String password="";
Class.forName(Drivers);
con=DriverManager.getConnection(url,user,password);
System.out.println("连接成功!");
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String args[]){
ConSqlserver cs=new ConSqlserver();
}
}
用javac ConSqlserver.java编译一切正常,已经编译成.class文件,
然后再java ConSqlserver,却报告:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
在坛内查找解决方案,看到坛内说的方法与我的方法相符,无奈,将三个文件解压到class所在的目录中,再运行java ConSqlserver,运行通过。
现在偶想问一下,如果不解压,那三个文件应该放到什么地方呢?%CLASS_PATH%应该怎样设置呢?
偶用的是jdk1.5,用的是记事本写的代码。
数据库:SQL Server 2000+SP3
JDBC驱动:从http://www.microsoft.com/downloads/info.aspx?na=46&p=5&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f4%2f1%2fd%2f41d3e9c0-64d1-451e-947b-7a4cba273b2d%2fsetup.exe下载的。
安装后,将三个文件拷到%JAVA_HOME%\lib中,然后在%CLASS_PATH%中加入%JAVA_HOME%\lib\msbase.jar;%JAVA_HOME%\lib\mssqlserver.jar;%JAVA_HOME%\msutil.jar
JAVA程序如下:
import java.sql.*;
public class ConSqlserver{
Connection con;
Statement st;
ResultSet rs;
public ConSqlserver(){
try{
String Drivers="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydatabase";
String user="sa";
String password="";
Class.forName(Drivers);
con=DriverManager.getConnection(url,user,password);
System.out.println("连接成功!");
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String args[]){
ConSqlserver cs=new ConSqlserver();
}
}
用javac ConSqlserver.java编译一切正常,已经编译成.class文件,
然后再java ConSqlserver,却报告:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
在坛内查找解决方案,看到坛内说的方法与我的方法相符,无奈,将三个文件解压到class所在的目录中,再运行java ConSqlserver,运行通过。
现在偶想问一下,如果不解压,那三个文件应该放到什么地方呢?%CLASS_PATH%应该怎样设置呢?
偶用的是jdk1.5,用的是记事本写的代码。
JAVA_HOME=c:\C:\Program Files\Java\jdk1.5.0_04
CLASS_PATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\mssqlserver.jar;%JAVA_HOME%\lib\msbase.jar;%JAVA_HOME%\lib\msutil.jar
有什么不对的地方吗?
这是别人写的例子!希望对楼主有帮助!import java.sql.*;
//加载java数据连接包,java基本所有的数据库的调用的都在这个东西里面 public class InsertCoffees { public static void main(String args[]) { String url = "jdbc:odbc:sqlserver";
//取得连接的url名,注意sqlserver是dsn名
Connection con;
//实例化一个Connection对象
Statement stmt;
String query = "select * from col_link";
//选择所有的Col_link表中的数据输出 try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//加载jdbc-odbc桥驱动 } catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
//加载jdbc-odbc桥错误
System.err.println(e.getMessage());
//其他错误
} try { con = DriverManager.getConnection(url, "sa", "");
//数据库连接
stmt = con.createStatement();
//Create 一个声明
stmt.executeUpdate("CREATE TABLE col_link (sitename varchar (20) NULL ,siteurl varchar (50) NULL) ");
//执行了一个sql语句生成了一个表col_link的表
stmt.executeUpdate("insert into col_link values('ASP中华网','http://www.aspcn.com')");
stmt.executeUpdate("insert into col_link values('永远到底有多远','http://xuankong.com')");
//执行一个insert into语句
stmt.executeUpdate("update col_link set siteurl='http://www.aspcn.com/xuankong/xuankongt.jpg' where siteurl='http://xuankong.com'");
//执行一个update语句,更新数据库
ResultSet rs = stmt.executeQuery(query);
//返回一个结果集
System.out.println("Col_link表中的数据如下(原始数据)");
//下面的语句使用了一个while循环打印出了col_link表中的所有的数据
System.out.println("站点名 "+" "+"站点地址");
System.out.println("---------------"+" "+"----------------");
while (rs.next()) {
String s = rs.getString("sitename");
String f = rs.getString("siteurl");
//取得数据库中的数据
System.out.println(s + " " + f);
/*String t = rs.getString(1);
String l = rs.getString(2);
System.out.println(t + " " + l);*/
/*jdbc提供了两种方法识别字段,一种是使用getXXX(注意这里的getXXX表示取不同类型字段的不同的方法)获得字段名,
第二种*是通过字段索引,在这里我把第二种方法注释了*/
/*你可以访问这个连接获得getxxx的用法:http://java.sun.com/docs/books/tutorial/jdbc/basics/_retrievingTable.html*/
}
stmt.close();
con.close();
//上面的语句关闭声明和连接
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
//显示数据库连接错误或者查询错误
}
}
}
但是 用IE请求一个servlet的话,servlet会有问题用 e.printStackTrace(out) 返回如下:java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1366) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1213) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:141) at GetMsgInfo.doGet(GetMsgInfo.java:28) at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at...............
--------------------------
服务器用是 tomcat5.0 ...哪个 com.microsoft.jdbc.sqlserver.SQLServerDriver 怎么配置啊??????????????????????
--------------------------
eg:
java -classpath c:\jdk\mssqlserver.jar...... ConSqlserver
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb为数据库
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar