首先先來說下使用微軟自己開發的架包進行ms sql server資料庫的串連時,sql 2000與sql 2005的串連方式略有不同;
1.首先驅動不一樣,sql 2000的串連驅動包有三個,分別是:msbase.jar、mssqlserver.jar、msutil.jar;
而sql 2005的串連驅動包只有一個為:sqljdbc.jar;
2.由於串連的驅動不一樣,自然而然串連的方式也是不一樣的;
sql 2000:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Demo";
sql 2005:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
URL = "jdbc:sqlserver://localhost:1433;DatabaseName=Demo";
下面來說一個比較通用的方式:jtds-1.2.jar包,這個包是第三方開源組織提供,使用這個架包進行ms sql server資料庫的串連,你可以不必擔心不同版本資料庫間的差異了;
統一串連方式為:
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
String url="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=Demo";
下面我還是來說下關於串連資料庫要注意的幾個方面:
1.如果你使用的sql server 2000,那麼你在使用jdbc進行資料庫的串連時還必須要安裝sp3補丁;如果使用sql server 2005就不必了;
sql server 2000無法開啟1433連接埠
可通過運行中輸入netstat -a命令來查看已開啟的連接埠,看看是否有1433連接埠開啟(預設)
1.如果你是win2003,那麼一定要安裝sql的補丁sp3a
檢查你的SQL有沒有打補丁,沒有的話要打上補丁,檢查的方法是在查詢分析器中運行:
select @@version
如果出來的版本號碼是8.00.760以下,則表明你未安裝sp3的補丁,要裝上.
SQL補丁下載:
全部補丁的位置
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766
注意下載後,執行的時候是解壓,要在解壓後的目錄中執行setup.bat才是真正的安裝
2.如果你上面的已經確保無誤了但還是串連不上資料庫,那麼我們來一一檢查你串連的要素:
a.首先查看串連語句是否正確,這個這裡就不說了,大家如果還有問題,可以看http://www.cnblogs.com/shenliang123/archive/2012/04/24/2467702.html
也可以用下面的main函數進行測試;將上面的資料名,連接埠號碼,密碼等改成自己的(這裡是採用jtds包進行串連的)
public static void main(String[] args) { try { Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } String url="jdbc:jtds:sqlserver://localhost:9433;DatabaseName=SportsUnion2"; String user="sa"; String psw="123@sports"; Connection conn=null; try { conn=DriverManager.getConnection(url,user,psw); System.out.println("串連資料庫成功"); } catch (SQLException e) { System.out.println("串連資料庫失敗"); e.printStackTrace(); }
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
b.查看你資料庫的登入方式(我們一般是要選擇登入方式為SQL Server和Windows 身分識別驗證模式):
在開啟的資料庫檢視中選擇伺服器(如)------>右鍵屬性----->在出現的視圖中選擇安全性----->選擇SQL Server和Windows 身分識別驗證模式------>確定
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
c.設定密碼:在你的資料庫檢視中點擊安全性---->出現的二級菜單中點擊sa---->在出現的視圖中重設下sa的密碼:
然後為保險起見,你可以退出登入,然後重新開啟登入,使用sa進行登入,如果能登入表示密碼設定成功並且sa是可用的。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
d.配置連接埠號碼:
sql 2000:開始---->所有程式----->Microsoft SQL Server----->伺服器網路使用工具 點擊----->
----->選中TCP/IP----->點擊屬性----->在出現的屬性視窗中設定自己想要的連接埠號碼,預設為1433(最好不要預設的,容易受到攻擊)
然後將伺服器進行重啟
sql 2005:
開始---->所有程式----->Microsoft SQL Server 2005----->組態工具----->SQL Server Configuration Manager----->SQL Server 2005 網路設定
------>MSSQLSERVER協議;啟用“TCP/IP”;
雙擊“TCP/IP”-------->“IP 位址”-------->“IPAll”------->“TCP 通訊埠”設定為自己想要的。
重新啟動sql2005伺服器
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
e.到這裡如果你是使用sql server 2000的應該是沒有問題了,但如果你是使用sql server 2005的,可能還是存在連不上的問題:
(1)資料庫引擎沒有啟動,下面使用兩種方式:
a.開始->程式->Microsoft SQL Server 2005->SQL Server 2005介面區配置器,在開啟的介面單擊"服務的串連的介面區配置器",在開啟的介面中找到
Database Engine,單擊"服務",在右側查看是否已啟動,如果沒有啟動可單擊"啟動",並確保"啟動類型"為自動,不要為手動,否則下次開機時又要手動啟動;
b.可開啟:開始->程式->Microsoft SQL Server 2005->組態工具->SQL Server Configuration Manager,選中SQL Server 2005服務中SQL Server(MSSQLSERVER)
並單擊工具列中的"啟動服務"按鈕把服務狀態改為啟動;
(2)查看sql server 資料庫是否已經啟用遠端連線
開始----->程式----->Microsoft SQL Server 2005----->組態工具----->SQL Server 介面區配置器---->
單擊服務和串連的介面區配置器------>點擊資料庫引擎----->點擊遠端連線----->右邊選中本地串連和遠端連線
再選擇要使用的協議,( 這個地方應當啟用TCP/IP 和具名管道服務!)單擊“應用”----->重啟伺服器;
(3)啟用 SQLServer 瀏覽器服務
開始------>程式------>Microsoft SQL Server 2005------>組態工具------>SQL Server 介面區配置器
------>在“SQL Server 2005 介面區配置器”頁, 單擊“服務和串連的介面區配置器”
------>然後單擊展開“SQL Server Browser”, 選中“服務”,在右邊“啟動類型”選擇“自動”------->再單擊“啟動”,單擊“確定”按鈕返回
現在應該連上了吧! 哈哈哈