java 连接sqlserver数据库问题

snoggy 2006-12-08 09:16:32
刚学连接数据库,连了一天都没连上,郁闷。

winxp home sp2
sqlserver 2000 个人版的已打sp4补丁
Microsoft SQL Server 2005 JDBC Driver 1.1
jdk1.5

下面是测试连接程序
import java.sql.*;

public class DbTest
{
Connection con;
Statement sta;
ResultSet rs;
String driver;
String url;
String user;
String pwd;

public DbTest()
{
driver ="com.microsoft.sqlserver.jdbc.SQLServerDriver";
url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName = testdb";//建的一个数据库,有一个Persons表
user = "testuser";//我自己在sqlserver设的用户和密码
pwd = "123";
init();

}

public void init() {
try
{
Class.forName(driver);
System.out.println("driver is ok");
con = DriverManager.getConnection(url,user,pwd);
System.out.println("connection is ok");
sta = con.createStatement();
String temp ="select * from Persons";
rs = sta.executeQuery(temp);
while(rs.next())
System.out.println(rs.getString(1));

}
catch(Exception e)
{
e.printStackTrace();
}

}

public static void main(String[] args)
{
DbTest db = new DbTest();
}
}

用eclipse运行结果如下
driver is ok
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at DbTest.init(DbTest.java:28)
at DbTest.<init>(DbTest.java:19)
at DbTest.main(DbTest.java:46)

郁闷啊郁闷,哪位大侠拔刀相助啊

谢了
...全文
276 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengqc 2006-12-10
  • 打赏
  • 举报
回复
如果想方便的话用MySQL吧,通常没有这么多的问题。
windproof 2006-12-09
  • 打赏
  • 举报
回复
windows XP 系统下面 SQL的1433端口会出现异常。我也曾经遇到过同样的问题!!
import java.sql.*;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class SQLConnection {
private static Connection conn;
private static Statement stm;
private static ResultSet rs;
private static String URL="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
private static String Name="sa";
private static String Psw="713518";
private static String sql;
public SQLConnection() {

}
public static ResultSet RsSelect(String sql){
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection(URL,Name,Psw);
stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
} catch (Exception ex) {
ex.printStackTrace();
}
try {
rs = stm.executeQuery(sql);
} catch (SQLException ex) {
ex.printStackTrace();
return null;
}
return rs;
}
public void RsClose(){
try{
conn.close();
stm.close();
rs.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
你的代码没有问题!换个操作系统吧!
chris_damon 2006-12-09
  • 打赏
  • 举报
回复
还有,你的URL里不要有空格
chris_damon 2006-12-09
  • 打赏
  • 举报
回复
"com.microsoft.jdbc.sqlserver.SQLServerDriver"
lixiaoxue85 2006-12-09
  • 打赏
  • 举报
回复
需要3个驱动jar包
stefli 2006-12-08
  • 打赏
  • 举报
回复
查看端口是否打开可以使用telnet命令。
telnet ip 1433
如果进入黑屏,那就是打开了。
onlyliu1689682000 2006-12-08
  • 打赏
  • 举报
回复
没有驱动程序
chstone 2006-12-08
  • 打赏
  • 举报
回复
http://www.microsoft.com/downloads/details.aspx?familyid=9f1874b6-f8e1-4bd6-947c-0fc5bf05bf71&displaylang=en
你到这里也可以下载2000的驱动
timbear 2006-12-08
  • 打赏
  • 举报
回复
照个端口监听的工具看看就可以啦,到java网站上就能找到2000的jdbc驱动,但个jar包,放入classpath路径里就可以了!
chstone 2006-12-08
  • 打赏
  • 举报
回复
当然用2000的驱动啊!微软官网有下载的,如果懒得找,我可以给你发一份,一共就三个.jar文件
snoggy 2006-12-08
  • 打赏
  • 举报
回复
http://www.microsoft.com/downloads/details.aspx?familyid=6D483869-816A-44CB-9787-A866235EFC7C&displaylang=zh-cn

微软的官方页面说是可以在2000上使用的啊
snoggy 2006-12-08
  • 打赏
  • 举报
回复
2000sp4该用什么驱动?找不到哪里可以下载的啊

顺便再问:如何查看sqlserver的端口1433是否已打开?
chstone 2006-12-08
  • 打赏
  • 举报
回复
你的驱动用的SQL Server2005的?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧