收藏 分享(赏)

JSP中连接SQL.doc

上传人:gnk289057 文档编号:6837426 上传时间:2019-04-23 格式:DOC 页数:5 大小:48.50KB
下载 相关 举报
JSP中连接SQL.doc_第1页
第1页 / 共5页
JSP中连接SQL.doc_第2页
第2页 / 共5页
JSP中连接SQL.doc_第3页
第3页 / 共5页
JSP中连接SQL.doc_第4页
第4页 / 共5页
JSP中连接SQL.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、JSP 中连接 SQL 2000 数据库的问题总结 由于系统需求,最近在开发过程中将系统从原来的 MySQL 转移到 SQL 2000 下,其中遇到了诸多问题,花费了我不少时间。现在把我的经验拿出来告诉大家,好让大家少走弯路,节约时间。首先是 SQL 2000 数据库的安装问题,在此我主要讲些关于 SQL 2000 的版本与操作系统的兼容性问题:SQL 2000 总共有 7 个不同版本,适应不同等级用户的需求。我试了一下,在 XP 系统下只有“个人开发版”能正常安装而不出现错误,所以大家在安装时要注意,具体安装时的配置参照相关说明就可以了。下面说明如何连接到 SQL 2000 数据库,首先当然

2、是要下载 JDBC 驱动程序,最好去微软官方网站下载,然后将下载到的三个 JAR 包放入你的 WEB 应用的 WEB-INF/lib/下。接下来编写程序进行测试:/*/*/*DBTest.java/*/* */import java.sql.*;public class DBTestConnection con;Statement sta;ResultSet rs;String driver;String url;String user;String pwd;public DBTest()driver = “com.microsoft.jdbc.sqlserver.SQLServerDrive

3、r“;url = “jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName =test“;/test 为数据库名user = “sa“;pwd = “sa“;/请更改为你相应的用户和密码init();public void init()tryClass.forName(driver);System.out.println(“driver is ok“);con = DriverManager.getConnection(url,user,pwd);System.out.println(“conection is ok“);sta = con.

4、createStatement();rs = sta.executeQuery(“select * from room“);while(rs.next()System.out.println(rs.getInt(“roomNum“); catch(Exception e)e.printStackTrace();public static void main(String args)/自己替换new DBTest();按道理讲,上边这段代码应该没错,可首先我们来看一下,如果 sqlser 服务器没有升级到 sp3(在使用 jdbc 时,如果系统是 xp 或者 2003 务必要把 sqlserve

5、r 升级到 sp3,往上到处都有下的),我们看看运行结果: driver is okjava.sql.SQLException: MicrosoftSQLServer 2000 Driver for JDBCError establishing socket.at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)at com.microsoft.jdbc.base.

6、BaseExceptions.getException(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSConnection.(Unknown Source)at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)at com.microsoft.jdbc.base.BaseConnec

7、tion.open(Unknown Source)at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)at java.sql.DriverManager.getConnection(DriverManager.java:523)at java.sql.DriverManager.getConnection(DriverManager.java:171)at DbTest.init(DbTest.java:32)at DbTest.(DbTest.java:25)at DbTest.main(DbTest.java:46)Pr

8、ess any key to continue.出现上边错误的主要原因是默认的数据库服务器端口 1433 没有打开,无法直接连接。如果升级到 sp3 则这个问题可以结决,我们再来看看升级之后,程序运行的结果: driver is okconection is okjava.sql.SQLException: MicrosoftSQLServer 2000 Driver for JDBCSQLServer对象名 room 无效。at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)at com.micro

9、soft.jdbc.base.BaseExceptions.getException(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(UnknownSource)at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(UnknownSource)at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Sour

10、ce)at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)at com.microsoft.jdbc.base.BaseSmonTransitionToState(UnknownSource)at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown So

11、urce)at com.microsoft.jdbc.base.BaseSmonExecute(Unknown Source)at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)at DbTest.init(DbTest.java:35)at DbTest.(DbTest.java:25)at DbTest.main(DbTest.java:46)Press

12、 any key to continue.在这儿,用户已经登陆上去,但是却不能访问里边的数据表,出现这个问题的原因在于 sa 用户为系统用户,它虽然能够登陆数据库,但是 test 数据库里边却没有这个用户的访问权限,所以,我们现在为这个数据库重新建立一个用户 share,建立过程如下: 在 test 数据库中选重用户 -新建用户 - 名称选择(这一步中有两个关键点:身份验证选 sql 身份验证,默认数据库选 test)-建立新教色 share ,此时更改程序,将用户登陆名和密码修改一下,重新运行程序: driver is okconection is ok100110021003100410051006Press any key to continue.这次顺利通过测试 其实这些小问题花了我一个晚上才解决,真是浪费时间,所以写下来希望能使遇到类似问题的朋友不要重蹈覆辙,在此提醒大家遇到问题时多上网查查,多在论坛里问问,这样你学到的会更多,更节省时间,更有效率。 总结:Sqlserve 和 JDBC 的融合问题,关键涉及到 sp3 补丁(端口开放)还有用户问题,解决这两个问题之后,剩余的便是 Sqlserver 操作问题了,还有一点在远程操作的时候,要把 Sqlserver 组设置一下,在安全性里边亦将身份验证更改为 Sqlserve 验证即可。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报