sqlserver2005 连接问题 JDBC

phpboy 2009-01-14 08:59:55
我连接数据代码是这样的:

<%
//装载JDBC驱动程序
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
//设置连接字符串
String url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=StuDB;";
//取得数据库连接
Connection conn=DriverManager.getConnection(url,"sa","123456");
Statement sm=conn.createStatement();
ResultSet rs=sm.executeQuery("select * from manager");
while(rs.next()){
String uid=rs.getString("manageID");
out.print(uid);
}
%>

报错如下:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.servlet.ServletException: java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;databaseName=StuDB;integratedSecurity=true;
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

javax.servlet.ServletException: java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;databaseName=StuDB;integratedSecurity=true;
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.connectDB_jsp._jspService(connectDB_jsp.java:108)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;databaseName=StuDB;integratedSecurity=true;
java.sql.DriverManager.getConnection(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
org.apache.jsp.connectDB_jsp._jspService(connectDB_jsp.java:90)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.



这是我写的一个类:

package stu_DB;
import java.sql.*;

public class ConnectDB {
//获取数据库连接Connection对象
public static Connection getCon(){
Connection con=null;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=StuDB";
String userID="sa";
String Password="123456";
con=DriverManager.getConnection(url,userID,Password);
}
catch(Exception e){
e.printStackTrace();
}
return con;
}
/*
*
*
*/
public static void main(String[] args){
Statement stmt=null;
ResultSet rst=null;
ConnectDB cdb=new ConnectDB();
try{
stmt=(cdb.getCon()).createStatement();
rst=stmt.executeQuery("select * from manager");
while(rst.next()){
System.out.print("ID:"+rst.getString(1)+" ");
System.out.println("Name: "+rst.getString(2)+"; ");
}
}
catch(Exception e){
e.printStackTrace();
}
}

}


报错如下:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at stu_DB.ConnectDB.getCon(ConnectDB.java:9)
at stu_DB.ConnectDB.main(ConnectDB.java:29)
java.lang.NullPointerException
at stu_DB.ConnectDB.main(ConnectDB.java:29)



我用的是MyEclipse 6.0\Tomcat 6.0\jDK1.6.0_03\Sqlserver2005
请问下,1.我要用的JDBC在哪下? 2.下过了放在我那个文件夹下????
...全文
211 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
newman_today 2009-01-14
  • 打赏
  • 举报
回复
....没看清你问题,描述了n多还以为你想要问的是为什么抛那异常呐,以后先说问题再贴代码了,呵
newman_today 2009-01-14
  • 打赏
  • 举报
回复
java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;databaseName=StuDB;integratedSecurity=true;
出问题了先看它抛的异常报什么错,不懂可以先网上搜下,从这也可以看出e文还是有点用处的,呵
解决方法如楼上几位所述,被人抢了先俺也就授人以渔下了呵
sunwch 2009-01-14
  • 打赏
  • 举报
回复
javax.servlet.ServletException: java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;databaseName=StuDB;integratedSecurity=true;
从这个错误可以看出是没有找到SQL SERVER的驱动包,去下载驱动包,放到你的项目的WEB-INF/lib目录下.
yunmoon 2009-01-14
  • 打赏
  • 举报
回复
包名叫 sqljdbc.jar 下载地方百度搜下就知道了,

把他放到Tomcat 5.5\common\lib下就可以了
phpboy 2009-01-14
  • 打赏
  • 举报
回复
数据库的端口号在那改?
runshine 2009-01-14
  • 打赏
  • 举报
回复
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c47053eb-3b64-4794-950d-81e1ec91c1ba

如果需要jsp页面可用,jar包放%tomcat%\lib里
如果需要MyEclipse可用,放到其library里
fulianglove 2009-01-14
  • 打赏
  • 举报
回复
http://www.27xz.cn/soft/softdown.asp?softid=98996迅雷下载的,看看能不能用
要不然贴出邮箱我一个发给你。
就放在你的项目目录下面就可以了。
另外sqlserver 2005 的连接字符串不一样

String url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=StuDB";
//改成---〉
String url="jdbc:sqlserver://localhost:1433;databaseName=StuDB";

81,092

社区成员

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

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