代码示例
在我的机器上安装了多个版本的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";