在寫一個Servlet程序連接數據庫SQL SERVER2005,連接代碼如下:
 1        Connection conn = null;
 2        Statement st = null;
 3        response.setContentType("text/html;charset=gb2312");
 4        PrintWriter out = response.getWriter();
 5        try {
 6            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
 7            conn = DriverManager
 8                    .getConnection(
 9                            "jdbc:sqlserver://MY-NOTEBOOK;DatabaseName=BOOKS",
10                            "sa""********");
11            st = conn.createStatement();
12            st.executeUpdate("insert into tblBookInfo(bookBarCode,bookName,bookAuthor,bookPrice,bookIntroduce) values('"
13                    + bookBarCode
14                    + "','"
15                    + bookName
16                    + "','"
17                    + bookAuthor
18                    + "'," + bookPrice + ",'" + bookIntroduce + "')");
19            conn.close();
20            out.println("圖書添加成功!");
21        }
 catch (Exception e) {
22            out.println("發生如下錯誤:<br>");
23            out.println(e.getMessage());
24        }

報如下錯誤:
通過端口 1433 連接到主機 MY-NOTEBOOK 的 TCP/IP 連接失敗。錯誤:“Connection refused: connect。請驗證連接屬性,并檢查 SQL Server 的實例正在主機上運行,且在此端口接受 TCP/IP 連接,還要確保防火墻沒有阻止到此端口的 TCP 連接。”。

從SQL Server Management Studio里可以正常登錄數據庫,經過一翻百度、Google后,未果。
經分析發生此故障的原因為數據庫系統的TCP/IP網絡協議未啟動所導致。
解決方法:
打開SQL Server Configuration Manager控制臺界面,從左邊的樹形菜單里選擇 SQL Server 2005網絡配置 -> MSSQLSERVER 的協議,將右邊列出的 TCP/IP 和Named Pipes 都設置為啟動狀態,再重啟啟動SQL Server(MSSQLSERVER)服務,測試通過。

另:
conn = DriverManager.getConnection( "jdbc:sqlserver://MY-NOTEBOOK:1433;DatabaseName=BOOKS", "sa", "********");
這里寫不寫端口號都可以連接成功。
如果想使用JDBC連接SQL SERVER2005,需要下載JDBC 3.0 For SQL SERVER2005 (http://www.microsoft.com/downloads/details.aspx?FamilyID=a737000d-68d0-4531-b65d-da0f2a735707&displayLang=zh-cn),安裝完后,進入其安裝目錄X:\Program Files\Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs,將sqljdbc4.jar文件復制到
Tomcat安裝目錄的Lib文件夾里即可正常使用。

測試環境:WIN7,JDK1.6.0_21,JRE6,Apache Tomcat7.02,SQL SERVER2005,JDBC 3.0 For SQL SERVER2005
如有不明白的地方,請給我留言!