当前页面: 开发资料首页 → 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() ( )
你这个是在什么环境下编的程序,还有你除了没有三个文件之外,你执行时的文件都放在哪里?