使用JDBC连接sqlServer指定(或非默认)实例

多个SQLServer实例时,指定一个实例进行连接(通过集成身份验证进行连接)

SQL Server 允许在每台服务器上安装多个数据库实例。每个实例都由一个专用名称所标识。若要连接到指定的 SQL Server 实例,可以使用指定实例的端口号(首选),也可将实例名指定为 JDBC URL 属性或 datasource 属性。如果未指定实例名属性或端口号属性,则会创建与默认实例的连接。如以下实例所示:

jdbc:sqlserver://localhost:1433;integratedSecurity=true;<more properties as required>;

若要使用 JDBC URL 属性,请执行下列操作:

jdbc:sqlserver://localhost;instanceName=instance1;integratedSecurity=true;<more properties as required>;

/** * 获得JDBC驱动连接sqlserver数据库的方法 * 可以使用默认实例或指定一个实例 * @return * @throws ClassNotFoundException * @throws SQLException * @throws IllegalAccessException * @throws InstantiationException */ public static Connection getConnection() throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException{ Connection conn = null; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  //用于连接本机上的默认实例名 String URL ="jdbc:sqlserver://localhost;integratedSecurity=true;DatabaseName=JspDB"; //用于连接本机上的指定实例名(如果有两个实例,这时的端口号默认为是:1434) //要先开启SQL Server服务/SQL Server Browser这项服务 String url = "jdbc:sqlserver://localhost;instanceName=MYSQL2008;integratedSecurity=true;DatabaseName=jdbcDB"; conn = DriverManager.getConnection(URL); //或是用url(指定实例名)也可以,因为是集成身份验证所以不用sa和密码 return conn; }   

多个SQLServer实例时,指定一个实例进行连接(SQLServer身份验证进行连接)

 //用于连接本机指定的实例名(SQLServer2008版本,实例名为MYSQL2008)

 public static Connection getConnection() throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException{ Connection conn = null; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String URL = "jdbc:sqlserver://localhost//MYSQL2008:1434; DatabaseName=jdbcDb"; conn = DriverManager.getConnection(URL,"sa","shiqiang"); //在这里要指定sa登录和登录密码 return conn; }

//在SqlServerConfigurationManager管理工具中设置:TCP/IP属性(还有必要在防火墙为该端口设定为例外项)

                        

修改完成后还需要重启SQL Server MYSQL2008 服务(个人认为最好重启计算机,因为重设了防火墙等原因)

你可能感兴趣的:(sql,properties,String,jdbc,server,url,sqlserver)