感謝博主xwdreamer的大力分享,你所做的會影響很多人。
在我的機器上安裝了多個版本的sqlserver數據庫,那麼如何區分這兩個數據庫服務器呢。這就要用到前一篇博客中提到的數據庫服務端口號,詳細見參考2。
此處端口號5419對應的是sqlserver2008服務器,端口號5413對應的是sqlserver2012服務器。具體的數據庫名稱在連接字符串的後面給出。下面是對應的代碼。
package edu.sjtu.erplab.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class SqlServerJDBC {
public static void main(String args[]) {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加載JDBC驅動
//SQL SERVER 2008:使用localhost,127.0.0.1和本機實際ip192.168.0.101都可以連接SQL SERVER 2008
//String dbURL = "jdbc:sqlserver://localhost:5419;DatabaseName=InsideTSQL2008";
//String dbURL = "jdbc:sqlserver://127.0.0.1:5419;DatabaseName=InsideTSQL2008";
//String dbURL = "jdbc:sqlserver://192.168.0.101:5419;DatabaseName=InsideTSQL2008";
//SQL SERVER 2012:端口號從原來的5419變成了5413,數據庫名稱變成了TSQL2012
//跟上述SQL SERVER 2008一樣,可以使用localhost,127.0.0.1和192.168.0.101
//String dbURL = "jdbc:sqlserver://localhost:5413;DatabaseName=TSQL2012";
//String dbURL = "jdbc:sqlserver://127.0.0.1:5413;DatabaseName=TSQL2012";
String dbURL = "jdbc:sqlserver://192.168.0.101:5413;DatabaseName=TSQL2012";
String userName = "sa"; // 用戶名
String userPwd = "sa12345"; // 密碼
try {
// 加載SQLSERVER JDBC驅動程序
Class.forName(driverName);
//建立數據庫連接
Connection connect = DriverManager.getConnection(dbURL, userName,userPwd);
Statement stmt = connect.createStatement();
ResultSet rs = stmt.executeQuery("select * from HR.Employees;");
while (rs.next()) {
System.out.println(rs.getString("lastname"));
}
} catch (ClassNotFoundException e) {
System.out.print("Error loading SQLServer Driver!");
e.printStackTrace();
} catch (Exception e) {
System.out.print("get data error!");
e.printStackTrace();
}
}
}
通過上述代碼示例,我們成功連接到sqlserver數據庫,並輸出查詢結果。
遠程連接sqlserver(PS:2012-6-24)
假設當前機器的ip地址位58.196.cba.yy,而sqlserver數據庫安裝在服務器上,服務器地址爲58.196.abc.xx,數據庫服務端口號爲5419。
1.使用SQL Server Management Studio遠程連接
2.在程序連接
將上述的連接字符串改成如下格式就可以進行遠程連接。
String dbURL = "jdbc:sqlserver://58.196.abc.xx:5419;DatabaseName=InsideTSQL2008";