java连接sqlserver问题java.sql.SQLException: No suitable driver

foamflower 2007-10-26 05:19:26
从网上查看解决方法,基本都做了:下载驱动程序,三个包都下好了,放到lib目录下,然后环境变量里也设置了。sql sp4补丁也打了,可是还是出现下面的问题:
数据库连接已开启
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.zjou.sql.tsgsg.main(tsgsg.java:17)
程序如下:
package com.zjou.sql;

import java.sql.*;
import java.util.*;


public class tsgsg {

public static void main(String[] args){
List book_informations=new ArrayList();
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("数据库连接已开启");
String url="jdbc:microsoft:sqlserver//DREAMSKY:1433;DatabaseName=tsglxt";
String user="sa";
String password="1";
Connection conn=DriverManager.getConnection(url,user,password);
Statement st=conn.createStatement();
ResultSet rs=st.executeQuery("SELECT * FROM book_information");
while(rs.next())
{
Book_information book_information=new Book_information();
book_information.setBook_ID(rs.getString(1));
book_information.setBook_name(rs.getString(2));
book_information.setBook_author(rs.getString(3));
book_information.setBook_publish(rs.getString(4));
book_information.setReader_ID(rs.getString(5));
book_information.setBook_topic(rs.getString(6));
book_informations.add(book_information);
}

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Iterator it=book_informations.iterator();
while(it.hasNext())
{ Book_information book=(Book_information)it.next();
System.out.println(book.getBook_ID());
System.out.println(book.getBook_name());

}
}

}

...全文
612 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jayo2007 2007-11-05
  • 打赏
  • 举报
回复
com.microsoft.jdbc.sqlserver.SQLServerDriver
改为
com.microsoft.sqlserver.jdbc.SQLServerDriver
试下!
foamflower 2007-11-05
  • 打赏
  • 举报
回复
还是不行,在myeclipse运行的结果是:java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.zjou.sql.tsgsg.main(tsgsg.java:17)
error while performing database login with the Myeclipse derby driver
java.net.connectException :连接到端口1527上的服务器localhost时出错,消息为connection refused:connect.
foamflower 2007-10-27
  • 打赏
  • 举报
回复
DREAMSKY是我电脑的域名,主机名,我把其改为localhost一样这样报错。我同学的电脑上也是用localhost,但还是一样是这样的错误。
zjwzjw20072008 2007-10-27
  • 打赏
  • 举报
回复
很明显,程序没找到这3个jar包
到下边去看一下吧!
http://hi.baidu.com/ljx0305/blog/item/d39c5b8d34af1e13b21bba1d.html
不过建议你写Exception不要只写一个,这样不好找错。
lanseliuying 2007-10-26
  • 打赏
  • 举报
回复
请教楼主String url="jdbc:microsoft:sqlserver//DREAMSKY:1433;DatabaseName=tsglxt";
中的
DREAMSKY是什么?
stefli 2007-10-26
  • 打赏
  • 举报
回复
要么就放到tomcat或者resin的common lib下。
qianwu1984 2007-10-26
  • 打赏
  • 举报
回复
放到lib目录下后,你要添加jar包到你的工程啊,又不是放到lib目录下就可以了
fogu77 2007-10-26
  • 打赏
  • 举报
回复
试下驱动版本的问题,我以前也遇到过,换了个版本的就ok了,最好去已有正常工作的项目中找原来的老包来用
资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在进行Servlet开发时,尤其是在尝试连接数据库时,我们经常会遇到一个异常:“java.sql.SQLException: No suitable driver found for”。这个异常表明Java应用程序无法找到合适的JDBC驱动程序来连接数据库。 “java.sql.SQLException: No suitable driver found for”异常表示在尝试建立数据库连接时,系统未能找到能够处理指定URL的合适驱动程序。这可能是因为缺少必要的JDBC驱动程序、驱动程序未正确加载,或者驱动程序与当前环境不兼容等原因导致的。 确保连接数据库的URL、用户名和密码都是正确的。例如: URL:确保格式正确,包括数据库名称和端口号。 用户名和密码:确保用户名和密码正确。 注意参数serverTimezone和useSSL是否符合实际需求。 如果JDBC驱动程序没有正确导入项目中,也会导致此异常。可以通过以下几种方式导入MySQL的JAR包: WEB-INF/lib:将MySQL的JAR包放在项目的WEB-INF/lib目录下。 JDK安装目录下的lib/ext:将MySQL的JAR包放在JDK安装目录下的lib/ext目录中。但这种方式可能会影响其他依赖该JDK的应用。 Tomcat的lib目录:将MySQL的JAR包放在Tomcat服务器的lib目录中,这样可以确保Tomcat启动时加载此JAR包。 JDBC驱动程序与JDK版本不兼容也可能导致此异常。解决方法是: 下载合适的驱动版本:根据当前使用的JDK版本,下载对应的MySQL JDBC驱动版本。例如,对于JDK 8,建议使用MySQL Connector/J 5.1.x或8.0.x版本。 确保导入的JAR包版本与JDK

62,623

社区成员

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

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