mssql的jdbc驱动版本不匹配,你应该找一个为WIN2003下sqlserver定制的jdbc驱动。
解决方案 »
- 对于这样随机查询数据,有没有更好的办法
- 急!如何将rtf格式的数据转正文本?在线等
- 远程传送数据,网络中断了怎么处理?
- jdbc调用存储过程clob参数类型错误
- {诚心求助}关于ejb如何转换为普通javabean?内详。。。
- 我是新手,想先大家请教一下,我想学JAVA先买什么书呢?
- Tomcat的网站路径问题(可给350分)
- (求助)神奇的java程序
- 用jdom删除xml中的一个节点
- 分享博客: 基于Spring,以Redis做为Service层缓存的应用
- 配置好JDBC,在EJB中通过JNDI如何连接到数据库?
- 200分求一hibernate问题,顺便散分,给出问题意见者有分,UP之类无分!谢谢
2、注意一下IP设置问题。
到微软下补丁去拉
正在到处寻找答案
sqlser2000打了sp3
但是还是不能用
我以前用2003server做j2ee也是这样,什么配置都对,补丁也打了,就是不成功有时侯重装一下selserver2000就好了阿
(说明一下这些变量的值我在前面都已经赋值了)就出错!
2.打上mssqlserver200的补丁包
3.打上mssqlserver2000 jdbc driver的补丁包
4.Tomcat最好用5.0.19或更高的版本
=======================================================================
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.jsp.testmssql_jsp._jspService(testmssql_jsp.java:80)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
java.sql.DriverManager.getConnection(DriverManager.java:512)
java.sql.DriverManager.getConnection(DriverManager.java:171)
org.apache.jsp.jsp.testmssql_jsp._jspService(testmssql_jsp.java:63)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.0.28
==================================================
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<body>
<%
String my_driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=news";
String user="huai";
String password="57209153";
Connection conn=null;
ResultSet rs=null;
String sql=null;
Statement stmt=null;
try{
Class.forName(my_driver).newInstance();
}
catch(Exception e){
out.print("无法加载驱动程序:"+my_driver);
e.printStackTrace();
}
out.println("驱动程序加载成功<br>");
conn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
sql="select name,password from member";
rs=stmt.executeQuery(sql);
while (rs.next()){
out.print("name="+rs.getString("name")+" ");
out.println("password="+rs.getString("password")+"<br>");
}
%>
</body>
</html>
1. sqlserver 驱动的问题
检查一下是否放在了Tomcat x\common\lib下面,没放可能有问题,虽然你可能放在自己的project下面,不防copy一份过去。2. sqlserver2000 Sp3
===============================
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<body>
<%
String my_driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=news";
String user="huai";
String password="57209153";
Connection conn=null;
ResultSet rs=null;
String sql=null;
Statement stmt=null;
try{
Class.forName(my_driver).newInstance();
}
catch(Exception e){
out.print("无法加载驱动程序:"+my_driver);
e.printStackTrace();
}
out.println("驱动程序加载成功<br>");
%>
</body>
</html>
chs_sql2ksp3.exe这个补丁必须打
2.sqlserver2000 Sp3我也打了
可是就是不行,郁闷
我们有一批机器都是2003+sqlserver2000+tomcat
我执行测试程序,结果还是连接失败!
那可能是你的SQL Server用的port号不正确,
你把Sql server打开,
然后在dos 下用netstat /nao 看一下,
它会显示所有运行的程序占用的端口号,(别关它,呆会有用)你再按Ctrl+Alt+Delete键打开任务管理器,
选"查看"菜单下的"选择列",然后选PID选项,
这样你就可以通过PID把SQL server的端口号找到了,
你用这个端口号试试!
把localhost换成你的IP(192.168.0.1)地址看看
建议打sql server sp3的补丁
没办法只好把开发平台移到XP上.速度也比server快!
用netstat -an查看后,1433端口没有在监听,这是怎么回事呀?
http://www.microsoft.com/downloads/details.aspx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=zh-cn
2、下载SQL Server 2000 Driver for JDBC Service Pack 3
http://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en 下载后装起就没问题了
\lib\mssqlserver.jar环境
变量
配了吗?
但我的注册表里有1443啊 可 netstat -a 仍然没有1443呢?