♣
~~~~~JSP连接SQL2000出错,请大侠们帮忙解决~~~~
我已经将mssqlserver.jar,msutil.jar,msbase.jar3个jar文件也可以放在 web-inf/lib/目录下,我系统是window xp ,数据库为sqlserver2000个人版:
连接数据库程序如下:
<%@ page contenttype="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%class.forname("com.microsoft.jdbc.sqlserver.sqlserverdriver").newinstance();
string url="jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs";
//pubs为我的数据库的
string user="sa";
string password="19837020";
connection conn= drivermanager.getconnection(url,user,password);
statement stmt=conn.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatable);
string sql="select * from test";
resultset rs=stmt.executequery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getstring(1)%>
您的第二个字段内容为:<%=rs.getstring(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
出现以下异常(不知道为什么?):
exception
javax.servlet.servletexception: [microsoft][sqlserver 2000 driver for jdbc]error establishing socket.
org.apache.jasper.runtime.pagecontextimpl.dohandlepageexception(pagecontextimpl.java:846)
org.apache.jasper.runtime.pagecontextimpl.handlepageexception(pagecontextimpl.java:779)
org.apache.jsp.sql_jsp._jspservice(org.apache.jsp.sql_jsp:83)
org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:99)
javax.servlet.http.httpservlet.service(httpservlet.java:802)
org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:325)
org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:295)
org.apache.jasper.servlet.jspservlet.service(jspservlet.java:245)
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:525)
java.sql.drivermanager.getconnection(drivermanager.java:171)
org.apache.jsp.sql_jsp._jspservice(org.apache.jsp.sql_jsp:52)
org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:99)
javax.servlet.http.httpservlet.service(httpservlet.java:802)
org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:325)
org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:295)
org.apache.jasper.servlet.jspservlet.service(jspservlet.java:245)
javax.servlet.http.httpservlet.service(httpservlet.java:802)
note the full stack trace of the root cause is available in the apache tomcat/5.5.6 logs.
· 网友精彩回答:
第一保证你的登陆模式是 混合模式 这个在服务器属性里面可以看到
选 “windows 和sql server”反正就是选这个 具体名字我忘了
如果上面还是不行 你可以将连接端口由1433 改成其他的端口
也是在属性里面 点 网络设置 tcp/ip 改掉1433
你的连接的代码 jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs 也要改成相同的端口
祝好运
打sp4补丁
在连接的数据库建同样的用户
statement stmt=conn.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatable);
==================
微软的jdbc驱动应该是不支持创建滚动statement的
jtds可以。
你直接statement stmt=conn.createstatement()看看会不会报错
试以下:
1、打sql server补丁,这个问题经常在打补丁后好了
2、系统重装,这样的情况也的确存在。我就碰到过xp下jsp程序无法在网络上发布,但自己机器上ok
3、环境变量设置好了吗?
winxp sp2好像要打补丁。
.- 更多问题:
- · 大家都来,办公一般用什么牌子的打印机(包括针式、喷墨)及价格
- · 请教:关于制作电子地图的基本问题
- · 请问一下这种xml文件怎么来读取啊
- · 请参与CSDN项目管理在线调查,专家将在线为你答疑
- · .net有没有像java那样的code template啊?
- · 我转行了,把分都散掉
- · 制作网站中遇到两个问题,请朋友指点
- · 硬盘空间哪儿去了???
- · IDEA的Tmate插件怎么配置呢?谢谢了!
- · DataGrid中数据修改的问题--请高手帮帮忙--小弟先谢了!
- · 水源到底是个啥地方?
- · 一个线程在动态数组(链表)末尾添加元素,一个线程从头部访问元素,然后删除头部元素
- · 怎么样删除oracle DBA studio 中的归档日志
- · CStatics (静态文本控件) 可以弹出 Tip(提示文本)吗?
- · winform中的comboBox帮定datasource之后为何selecteditem.tostring()为System.Data.DataRowView
- · 制作网站中遇到两个问题,请朋友指点

