try again like followed.String url="jdbc:microsoft:sqlserver://Stury:1433"; Connection conn= DriverManager.getConnection(url,user,password); conn.setCatalog("pubs");
To alphazhao(绿色咖啡) DOS下的还是如此。 提示信息为: E:\Java\MySql\MySql2k.java:23: unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); ^ 1 error
你肯定你的E:\J2SDK1.4.0\Lib\目录下一定有那些jar文件?
还有,你在dos下用的命令是什么?没有把你的classpath给覆盖了吧!
to shihb()是的,那些文件是我安装完后拷过去的。肯定存在的。javac MySql2k.java 这一句 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 我认为是问题所在。 可是却不知道 是什么问题,真是头大。
Connection conn= DriverManager.getConnection(url,user,password);
conn.setCatalog("pubs");
如果在dos下还报错,则是代码问题,改成这样试试:
String address = "jdbc:microsoft:sqlserver://192.168.0.118:1433";//ip为目标数据库ip
String user="sa";//用户名
String passwd="";//口令
String database = "TESTDB";//数据库名
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection(address,user,passwd);
con.setCatalog(database);
Statement smt = con.createStatement();
DOS下的还是如此。
提示信息为:
E:\Java\MySql\MySql2k.java:23: unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
^
1 error
这一句 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
我认为是问题所在。
可是却不知道 是什么问题,真是头大。
1.要么你没有这个driver.
2.要么你有这个driver,没有在classpath中设置该driver的路径。
你好好的查查classpath中设置该driver的路径和有没有该driver.对于程序没有什么问题。
看不出是否是上面所说的种种错误
唯一能确定的就是:你的链接数据库部分的代码没有捕捉异常!!!
这部分代码要放到一个try……catch(Exceptioin e)中来捕捉它可能产生的异常。
而你没有,所以出错。至于你的classpath如果真如你所言,肯定可以,因为你用的驱动我曾经用过。
顺便给你一个我刚刚test了的一个完整的链接数据库的代码:
package alpha;
import java.sql.*;
public class Test {
public static void main(String[] args) {
try {
String address = "jdbc:microsoft:sqlserver://192.168.0.118:1433";//本机ip
String user="sa";//数据库用户密码
String passwd="";//口令
String database = "TESTDB";//目标数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//申明
Connection con = DriverManager.getConnection(address,user,passwd);//建立链接
con.setCatalog(database);
Statement smt = con.createStatement();
String selCode = "SELECT TOP 1 ServerName,StartTime,ExitTime,ExitFlag FROM ServerLog";
ResultSet r = smt.executeQuery(selCode);
String ServerName = "";
String StartTime = "";
String ExitTime = "";
String ExitFlag = "";
while(r.next()) {
ServerName = r.getString("ServerName");
StartTime = r.getString("StartTime");
ExitTime = r.getString("ExitTime");
ExitFlag = r.getString("ExitFlag");
}
System.out.println("ServerName"+ServerName);
System.out.println("StartTime"+StartTime);
System.out.println("ExitTime"+ExitTime);
System.out.println("ExitFlag"+ExitFlag);
}
catch(Exception e) {
System.out.println(e);//捕捉异常
}
}
} //
那个CLASS和包倒是找到,在mssqlserver.jar中便有。而用cmd命令下也是正常的。
公司开始实行工作时间关网政策……
别说qq和ie,连msn都不让上了……苦阿