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

來源:互聯網
上載者:User

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

 

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

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.