大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> JSP专区 -> JSP连接SQL SERVER问题总结

JSP连接SQL SERVER问题总结

时间: 2021-07-31 作者:daque

因为体例需要,迩来在开拓进程中将体例从从来的mysql变化到sql 2000下,个中遇到了诸多题目,耗费了我不少功夫。此刻把我的体味拿出来报告大师,好让大师少走弯道,俭朴功夫。 开始是sql 2000数据库的安置题目,在此我重要讲些对于sql 2000的本子与操纵体例的兼容性题目:sql 2000所有有7个各别本子,符合不一致级用户的需要。 我试了一下,在xp体例下惟有“部分开拓版”能平常安置而不展示缺点,以是大师在安置时要提防,简直安置时的摆设参照关系证明就不妨了。 底下证明怎样贯穿到sql 2000数据库,开始固然是要载入jdbc启动步调,最佳去微软官方网站载入,而后将载入到的三个jar包放入你的web运用的web-inf/lib/下。接下来编写步调举行尝试: /***********************************************  /*  /*dbtest.java  /*  /******************************************* */    import java.sql.*;    public class dbtest  {      connection con;   statement  sta;   resultset  rs;      string driver;   string url;   string user;   string pwd;   public dbtest()   {       driver = "com.microsoft.jdbc.    sqlserver.sqlserverdriver";;       url    = "jdbc:microsoft:sqlserver:    //localhost:1433;databasename =test";       //test为数据库名       user   = "sa";       pwd    = "sa";       //请变动为你相映的用户和暗号       init();   }   public void init()   {    try{     class.forname(driver);     system.out.println("driver is ok");     con = drivermanager.  getconnection(url,user,pwd);     system.out.println("conection is ok");        sta = con.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必须要把sqlserver 晋级到sp3,往上四处都有下的),咱们看看运转截止:  driver is ok java.sql.sqlexception: [microsoft] [sqlserver 2000 driver for jdbc] error establis hing socket.         at com.microsoft.jdbc.base.   baseexceptions.createexception(unknown source )         at com.microsoft.jdbc.base.   baseexceptions.getexception(unknown source)         at com.microsoft.jdbc.base.   baseexceptions.getexception(unknown source)         at com.microsoft.jdbc.sqlserver.tds.   tdsconnection.<init>(unknown source)         at com.microsoft.jdbc.sqlserver.   sqlserverimplconnection.open(unknown sou rce)         at com.microsoft.jdbc.base.   baseconnection.getnewimplconnection(unknown s ource)         at com.microsoft.jdbc.base.   baseconnection.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.<init>(dbtest.java:25)         at dbtest.main(dbtest.java:46) press any key to continue... 展示上边缺点的重要因为是默许的数据库效劳器端口 1433没有翻开,没辙径直贯穿。即使晋级到sp3则这个题目不妨结决,咱们再来看看晋级之后,步调运转的截止:  driver is ok conection is ok java.sql.sqlexception:  [microsoft][sqlserver 2000 driver for jdbc] [sqlserver]对 象名 ’room’ 失效。         at com.microsoft.jdbc.base.   baseexceptions.createexception(unknown source )         at com.microsoft.jdbc.base.   baseexceptions.getexception(unknown source)         at com.microsoft.jdbc.sqlserver.tds.   tdsrequest.processerrortoken(unknown  source)         at com.microsoft.jdbc.sqlserver.tds.   tdsrequest.processreplytoken(unknown  source)         at com.microsoft.jdbc.sqlserver.tds.   tdsexecuterequest.processreplytoken( unknown source)         at com.microsoft.jdbc.sqlserver.tds.   tdsrequest.processreply(unknown sour ce)         at com.microsoft.jdbc.sqlserver.   sqlserverimplstatement.getnextresulttype (unknown source)         at com.microsoft.jdbc.base.   basestatement.commontransitiontostate   (unknown  source)         at com.microsoft.jdbc.base.   basestatement.postimplexecu te(unknown source)         at com.microsoft.jdbc.base.   basestatement.commonexecute(unknown source)         at com.microsoft.jdbc.base.   basestatement.executequeryinternal   (unknown so urce)         at com.microsoft.jdbc.base.   basestatement.executequery(unknown source)         at dbtest.init(dbtest.java:35)         at dbtest.<init>(dbtest.java:25)         at dbtest.main(dbtest.java:46) press any key to continue... 在这边,用户仍旧登岸上去,然而却不许考察里边的数据表,展示这个题目的因为在乎sa用户为体例用户,它固然不妨登岸数据库,然而test数据库里边却没有这个用户的考察权力,以是,咱们此刻为这个数据库从新创造一个用户share,创造进程如次:  在test数据库当选重用户 ---〉兴建用户 -- 〉称呼采用(这一步中有两个要害点:身份考证选sql身份考证,默许数据库选test)-〉创造新教色share ,此时变动步调,将用户登岸名和暗号窜改一下,从新运路途序:  driver is ok conection is ok 1001 1002 1003 1004 1005 1006 press any key to continue... 这次成功经过尝试  本来那些小题目花了我一个黄昏才处置,真是滥用功夫,以是写下来蓄意能使遇到一致题目的伙伴不要重蹈覆辙,在此指示大师遇到题目时多上钩查查,多在乒坛里问问,如许你学好的会更多,更俭朴功夫,更有功效。  归纳:sqlserve 和jdbc 的融洽题目,要害波及到sp3补丁(端口盛开)还有效户题目,处置这两个题目之后,结余的便是sqlserver 操纵题目了,再有一点在长途操纵的功夫,要把sqlserver 组树立一下,在安定性里边亦将身份考证变动为sqlserve 考证即可。 

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.