JDBC連線自定義sqlserver資料庫例項名(多個例項)

dragonpeng2008發表於2014-05-09

java語言中,通過jdbc訪問sqlserver2005(2008)資料庫預設例項可以按常用的寫法來寫url連線。程式碼如下:

Connection cn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=demo", "sa","sa");

其中localhost為sqlserver2005資料庫ip,Demo為資料庫名。

自命名的sqlserver資料庫例項(例項名:SQL2008R2)的資料庫又是如何訪問?經過查資料和摸索發現url寫法如下:

con = DriverManager.getConnection("jdbc:sqlserver://localhost;instanceName=SQL2008R2; DatabaseName=Demo", "sa","sa");

也可以這樣寫:

Connection cn = DriverManager.getConnection("jdbc:sqlserver://localhost//SQL2005; DatabaseName=Demo", "sa","sa");

注意,連線資料庫自命名例項的url中沒有埠號1433,這是SQLServer中的管理機制決定的。 1. 如果機器上安裝的是SQLServer的預設例項(MSSQL),那麼就是通過TCP 預設1433埠遠端連線。如果你開啟了防火牆,需要放開1433埠。

2.  如果機器上有多個資料庫例項,例如 SQLServer2005, SQLServer2008, SQLServer2008R2等,而你的SQLServer2008R2安裝在Named instance,例如localhost\MyInstance。這樣連線預設是UDP 1434埠(可以自己指定,在第三點的第二個選項卡IP address裡面IPALL裡面輸入SQL執行的埠),並且需要開啟SQL Browser service服務。在服務 - SQL Browser service,設定為自動啟動。如果你開啟了防火牆,需要放開UDP 1434埠。

轉自:http://blog.csdn.net/jdk2006/article/details/7641399

相關文章