站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题请大家帮忙看看简单的Jdbc连接Sqlserver

请大家帮忙看看简单的Jdbc连接Sqlserver

摘要: 请大家帮忙看看简单的Jdbc连接Sqlserver


我都要死了 。。。。。。。。。。。。
这么简单的这个程序死活调不好~连我自己都觉得简单,可就是不行!

源程序如下:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>


<head>

JSP Page
</head>
<body>

JSP Page


<%
Connection connection = null;
String driverName = "com.microsoft.jdbc.sqlserver.sqlserverdriver";
String serverName = "130.9.1.2";
String portNumber = "1433";
String mydatabase = serverName + ":" + portNumber;
String url = "jdbc:microsoft:sqlserver://" + mydatabase; // a JDBC url
String username = "sa";
String password = "770223"; // Load the JDBC driver
Class.forName(driverName); // Create a connection to the database
connection = DriverManager.getConnection(url, username, password);
Statement stmt=connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from tsacl";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{%>
first:<%=rs.getString(1)%>
Second:<%=rs.getString(2)%>
<%
}%>
<%out.print("Good lock !");%>
<%
rs.close();
stmt.close();
connection.close();
%>

</body>


------------------------------------------------------------------------------------------
以下是错误提示:
HTTP Status 500 -

type Exception report

message

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

exception

javax.servlet.ServletException: com.microsoft.jdbc.sqlserver.sqlserverdriver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.Testdb_jsp._jspService(Testdb_jsp.java:101)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)

root cause

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.sqlserverdriver
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1332)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:150)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:71)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:164)
org.apache.jsp.Testdb_jsp._jspService(Testdb_jsp.java:65)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)

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

我用的是NetBean的开发环境!


......数据库名在哪里?


String url = "jdbc:microsoft:sqlserver://" + mydatabase;
这个东西不完整,后面还应该有DatabaseName=DatabaseName
例如:url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stu";

还有,"com.microsoft.jdbc.sqlserver.SQLServerDriver"
这个东西是否严格区分大小写我忘记了


我改了,怎么还是这个错误,还有 DatabaseName应该是的数据库名还是Sqlserver里面小的数据库名?

<%
Connection connection = null;
String driverName = "com.microsoft.jdbc.sqlserver.sqlserverdriver";
String url = "jdbc:microsoft:sqlserver://130.9.1.2:1433;DatabaseName=odpsserver";
String username = "sa";
String password = "770223"; // Load the JDBC driver
Class.forName(driverName); // Create a connection to the database
connection = DriverManager.getConnection(url, username, password);
Statement stmt=connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from tsacl";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{%>
first:<%=rs.getString(1)%>
Second:<%=rs.getString(2)%>
<%
}%>
<%out.print("Good lock !");%>
<%
rs.close();
stmt.close();
connection.close();
%>


"com.microsoft.jdbc.sqlserver.SQLServerDriver"
这个严格区分大小写,一定要向我这里这样写

DatabaseName是你要访问的数据库名


还是不对啊!

我改了

错误都一样


<%
Connection connection = null;
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://130.9.1.2:1433;DatabaseName=northwind";
String username = "sa";
String password = "770223"; // Load the JDBC driver
Class.forName(driverName); // Create a connection to the database
connection = DriverManager.getConnection(url, username, password);
Statement stmt=connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from products";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{%>
first:<%=rs.getString(1)%>
Second:<%=rs.getString(2)%>
<%
}%>
<%out.print("Good lock !");%>
<%
rs.close();
stmt.close();
connection.close();
%>


jdbc直连sqlserver的三个jar文件你拷了没?


在哪?

估计错在这,是要复制到Sql服务器上么?


三个jar包有没有拷到tomcat安装目录下的common/lib目录下


哪三个Jar包?


那三个包是独立在jdk之外的,你去网上找一下吧
应该是叫这个名字Microsoft SQL Server 2000 Driver for JDBC


msbase.jar,mssqlserver.jar,msutil.jar


升级server 最好下载包sp4升级包.还有sp3的驱动


谢谢大家,已经搞定 。。。。


BBXXL() ( )

你这个是在什么环境下编的程序,还有你除了没有三个文件之外,你执行时的文件都放在哪里?


↑返回目录
前一篇: 如何把JSP也面中获取的参数写进数据库表中
后一篇: JSP问题 超急~~~~~~~~~~~~