java連接ms sql server各類問題解析


首先先來說下使用微軟自己開發的架包進行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”, 選中“服務”,在右邊“啟動類型”選擇“自動”------->再單擊“啟動”,單擊“確定”按鈕返回

 

現在應該連上了吧!  哈哈哈

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM