在xp機器上面安裝了ms SQL Server2000後,jdbc連接的時候出現了各種問題.上網查詢都解決後紀錄下來.
[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
按照網上大家說的辦法.打sp3的補丁.到官方網站上下載下來.安裝文件以及版本相應的驅動jar包.
網址如下:http://www.microsoft.com/downloads/details.ASPx?FamilyID=07287b11-0502-461a-b138-2aa54bfdc03a&DisplayLang=en
注意: 在安裝升級包的時候要注意的是下載的安裝文件"setup.exe"僅僅是一次解壓縮,在這個地方容易讓人以為雙擊就是安裝了.需要"安裝"一次後再到安裝目錄找到setup.bat文件執行安裝.
同時也要將自己所建工程下的lib包中用到的sqlserver驅動更換成sp3的.
用戶 'sa' 登錄失敗。原因: 未與信任 SQL Server 連接相關聯。
這一問題一般是由於SQL Server未集成Windows身份驗證導致的
這個問題一般是由於sqlserver 沒有集成Windows身份驗證所導致的.第一步先打開SQL Server企業管理器。選擇服務器名稱上右鍵選擇“編輯SQL Server注冊屬性”,然後在對話框中選擇“使用Windows身份驗證”。
如果還不行,在執行第二步.第二步: 同樣右鍵,選擇“屬性”,然後打開“安全性”選項卡。 在選項卡中,選擇身份驗證為“SQL Server和 Windows ”,其他不變. 這樣這個問題就可以解決.
[SQLServer]對象名XXX無效
這個一般是由登陸數據庫的用戶名的權限造成的。
我在做數據庫連接的時候用戶名用的是sa.之後換成了自己建的用戶,就可以了。如果還不可以就給自己建的用戶重新分配一下權限。
下面是我測試的JSP代碼。
<%@ page contentType="text/Html; charset=gb2312" language="Java"
import="Java.sql.*"
import="Java.io.*"
import="Java.sql.Connection"
import="Java.sql.Date"
import="Java.sql.PreparedStatement"
import="Java.sql.ResultSet"
import="Java.sql.SQLException"
import="Java.sql.Statement"
%>
<Html>
<body>
data from SQL Server DB:
<hr>
<table>
<%! String trans(String chi) String result=null;
byte temp[];
try temp=chi.getBytes("iso-8859-1");
result=new String(temp); catch(UnsupportedEncodingException e) System.out.println(e.toString()); return result;
} %>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=Java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:4567; DatabaseName=ch12","sx","sx");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from contact");
while (rst.next()) out.println("<tr>");
out.println("<td>"+trans(rst.getString("userName"))+"</td>");
out.println("<td>"+trans(rst.getString("phone"))+"</td>");
out.println("<td>"+trans(rst.getString("mail"))+"</td>");
out.println("</tr>"); rst.close();
stmt.close();
con.close();
%>
</table>
</body>
</Html>