posts - 134,comments - 22,trackbacks - 0

          在xp機(jī)器上面安裝了ms sql server2000后,jdbc連接的時候出現(xiàn)了各種問題.上網(wǎng)查詢都解決后紀(jì)錄下來.

          1.

          [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.

          按照網(wǎng)上大家說的辦法.打sp3的補(bǔ)丁.到官方網(wǎng)站上下載下來.安裝文件以及版本相應(yīng)的驅(qū)動jar包.

          網(wǎng)址如下:http://www.microsoft.com/downloads/details.aspx?FamilyID=07287b11-0502-461a-b138-2aa54bfdc03a&DisplayLang=en

          注意: 在安裝升級包的時候要注意的是下載的安裝文件"setup.exe"僅僅是一次解壓縮,在這個地方容易讓人以為雙擊就是安裝了.需要"安裝"一次后再到安裝目錄找到setup.bat文件執(zhí)行安裝.

          同時也要將自己所建工程下的lib包中用到的sqlserver驅(qū)動更換成sp3的.

          2.

          用戶 'sa' 登錄失敗。原因: 未與信任 SQL Server 連接相關(guān)聯(lián)。

          這一問題一般是由于SQL Server未集成Windows身份驗(yàn)證導(dǎo)致的
          這個問題一般是由于sqlserver 沒有集成windows身份驗(yàn)證所導(dǎo)致的.第一步先打開SQL Server企業(yè)管理器。選擇服務(wù)器名稱上右鍵選擇“編輯SQL Server注冊屬性”,然后在對話框中選擇“使用windows身份驗(yàn)證”。
          如果還不行,在執(zhí)行第二步.第二步: 同樣右鍵,選擇“屬性”,然后打開“安全性”選項(xiàng)卡。 在選項(xiàng)卡中,選擇身份驗(yàn)證為“SQL Server和 Windows ”,其他不變. 這樣這個問題就可以解決.

          3.

          [SQLServer]對象名XXX無效

          這個一般是由登陸數(shù)據(jù)庫的用戶名的權(quán)限造成的。

          我在做數(shù)據(jù)庫連接的時候用戶名用的是sa.之后換成了自己建的用戶,就可以了。如果還不可以就給自己建的用戶重新分配一下權(quán)限。

           

          下面是我測試的jsp代碼。

          1. <%@ page contentType="text/html; charset=gb2312" language="java" 
          2. import="java.sql.*"
          3. import="java.io.*"
          4. import="java.sql.Connection"
          5. import="java.sql.Date"
          6. import="java.sql.PreparedStatement"
          7. import="java.sql.ResultSet"
          8. import="java.sql.SQLException"
          9. import="java.sql.Statement"
          10. %>
          11. <html>
          12. <body>
          13. data from SQL SERVER DB:
          14. <hr>
          15. <table>
          16. <%! String trans(String chi)
          17. {
          18. String result=null;
          19. byte temp[];
          20. try
          21. {
          22. temp=chi.getBytes("iso-8859-1");
          23. result=new String(temp);
          24. }
          25. catch(UnsupportedEncodingException e)
          26. {
          27. System.out.println(e.toString());
          28. }
          29. return result;
          30. } %>
          31. <%
          32. Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
          33. Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:4567; DatabaseName=ch12","sx","sx");
          34. Statement stmt=con.createStatement();
          35. ResultSet rst=stmt.executeQuery("select * from contact");
          36. while (rst.next())
          37. {
          38. out.println("<tr>");
          39. out.println("<td>"+trans(rst.getString("userName"))+"</td>");
          40. out.println("<td>"+trans(rst.getString("phone"))+"</td>");
          41. out.println("<td>"+trans(rst.getString("mail"))+"</td>");
          42. out.println("</tr>");
          43. }
          44. rst.close();
          45. stmt.close();
          46. con.close();
          47. %>
          48. </table>
          49. </body>
          50. </html>

          開發(fā)環(huán)境:Eclipse3.3+Sql Server 2000
          在練習(xí)使用Ibatis開發(fā)數(shù)據(jù)庫應(yīng)用程序時,按照如下步驟:
          1)下載SQL Server 2000 driver for JDBC 
          2)安裝驅(qū)動,并將msutil.jar,msbase.jar,mssqlserver.jar添加到classpath
          3)寫好配置文件,其中用了java property文件.
          //file:database.properties
          jdbc.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
          jdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=test;SelectMethod=cursor
          jdbc.username=sa
          jdbc.password=sa
              
          運(yùn)行時卻出現(xiàn)如下異常:
          ERROR - JakartaCommonsLoggingImpl.error(19) | SimpleDataSource: Error while loading properties.      
          Cause:  java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
          java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
          at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
          at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Class.java:164)
          at com.ibatis.common.resources.Resources.classForName(Resources.java:244)
          at com.ibatis.common.resources.Resources.instantiate(Resources.java:260)
          at com.ibatis.common.jdbc.SimpleDataSource.initialize(SimpleDataSource.java:199)
          at com.ibatis.common.jdbc.SimpleDataSource.<init>(SimpleDataSource.java:116)
          at com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory.initialize(SimpleDataSourceFactory.java:31)
          at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$9.process(SqlMapConfigParser.java:318)
          at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:111)
          at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:95)
          at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:92)
          at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:92)
          at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:62)
          at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:50)
          at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:81)
          at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:62)
          at Ibatis.Test.<clinit>(Test.java:22)
          最后在師兄幫助下,下了SQL Server 2005的驅(qū)動,結(jié)果成功了.

          事后仔細(xì)對比了SQL Server 2000 與 SQL Server 2005驅(qū)動包,驚奇的發(fā)現(xiàn)
          com.microsoft.sqlserver.jdbc.SQLServerDriver  ---->這個是2000的
          com.microsoft.jdbc.sqlserver.SQLServerDriver  -------->這個是2005的
          真的汗死!!
          posted on 2008-03-10 14:15 何克勤 閱讀(1118) 評論(0)  編輯  收藏 所屬分類: J2SE
          主站蜘蛛池模板: 嘉鱼县| 乌拉特前旗| 大同市| 叶城县| 泸西县| 凌云县| 新龙县| 张北县| 开封市| 伽师县| 桃园县| 隆昌县| 黄大仙区| 洮南市| 鹿泉市| 虹口区| 凤台县| 石阡县| 贡觉县| 靖远县| 朝阳市| 固安县| 皮山县| 南部县| 灌云县| 达拉特旗| 潞城市| 腾冲县| 剑河县| 邳州市| 普宁市| 浮山县| 东兰县| 东丽区| 江永县| 两当县| 磐安县| 辉县市| 巴塘县| 搜索| 乐清市|