我使用 resin3.0+iis+sql server2000系统,其他都正常了,只是在使用jdbc操作数据库的时候,出现驱动问题,请教各位高手:
代码如下:
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:odbc:booksms";
String user="sa";
String password="sa";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from message";
ResultSet rs=stmt.executeQuery(sql);
%>错误提示如下:
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at _jsp._book._sql__jsp._jspService(book/sql.jsp:10)
at com.caucho.jsp.JavaPage.service(JavaPage.java:60)
at com.caucho.jsp.Page.pageservice(Page.java:570)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:159)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:419)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:388)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
at java.lang.Thread.run(Thread.java:536)
代码如下:
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:odbc:booksms";
String user="sa";
String password="sa";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from message";
ResultSet rs=stmt.executeQuery(sql);
%>错误提示如下:
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at _jsp._book._sql__jsp._jspService(book/sql.jsp:10)
at com.caucho.jsp.JavaPage.service(JavaPage.java:60)
at com.caucho.jsp.Page.pageservice(Page.java:570)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:159)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:419)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:388)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
at java.lang.Thread.run(Thread.java:536)
解决方案 »
- 注册配置jsp的访问路径
- 各位大侠好,小弟是大一的学生,刚学jsp,我用jsp+JavaBean进行登陆验证,无法连上数据库,急求大侠们的帮忙!小弟先谢了。
- 哪们仁兄有jsp 的录入页面好看的,参考一下?
- Spring 如何自动装配?为什么总提示找不到bean呢?
- 关于JSP的数组 字符串问题【50分】,在线等!!!
- 如何在jsp页面上引用不在本工程下面的文件
- 急需java安全方面知识(身份验证)
- tomcat一个端口下部署多个项目的问题?
- 小弟,近来想学习java,不知道,从何如手,还请大虾们指点一二!谢谢了
- 高分求教,在线等,完了就结贴.
- response.sendRedirect("");内网可以正常使用外网不能用
- 关于MyFaces中tree的用法的问题
这个方法我也用了,还是有错误的,郁闷啊,是不是什么地方没设置好
从没试过
同意
storm1979(暴风)
你用JDBC-ODBC的方法连接数据库,driver应该用sun.Jdbc.Odbc.JdbcOdbcDriver。你原来的是用JDBC桥直接连接sql server那么url应该是jdbc:microsoft:sqlserver://host:1433;DatabaseName=db_name,那当然会出这错误
out.print("数据库驱动加载成功,恭喜你");
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=booksms";我是这样用了,可是错误依然啊at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at _jsp._book._sql__jsp._jspService(book/sql.jsp:17)
at com.caucho.jsp.JavaPage.service(JavaPage.java:60)
at com.caucho.jsp.Page.pageservice(Page.java:570)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:159)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:419)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:388)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
at java.lang.Thread.run(Thread.java:536)
out.print("数据库驱动加载成功,恭喜你");
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=booksms";这种写法时数据库连接已经对了,现在的错误不是Connection的问题,开始odbc是驱动不对的问题
storm1979(暴风) 说的对。推荐使用 net.sourceforge.jtds.jdbc.Driver 的SQLServer驱动,另外最好不要自己写jdbc代码,使用spring-jdbc或iBatis、hibernate都是不错的选择。