JDBC建立与SQL Server的连接
关键词
子协议、服务器地址、端口号、实例、端口号与实例、连接属性
容易出问题的地方
- 端口号与实例同时使用,这里优先使用端口号而忽略实例配置
- 指定了不确定的端口号
总结
- 使用JDBC连接SQL Server时端口号显得不是特别重要了
- 需要特别注意指定特定实例时是不可以再指定端口号了
示例代码
/** * 取MSSql数据库连接 * @param connURL 连接串 * @return rtnConn rtnConnection */ public static Connection createConn4MSSql(String connURL) { Connection conn = null; try { Class.forName(MS_DRIVER); conn = DriverManager.getConnection(connURL); } catch(ClassNotFoundException cnfe) { throw new RuntimeException("SQLServer 数据库驱动加载失败", cnfe.fillInStackTrace()); } catch (SQLException sqle) { throw new RuntimeException("SQLServer 数据库连接失败", sqle.fillInStackTrace()); } return conn; } public static void main(String[] args) { String[] msSqlUrls = { "jdbc:sqlserver://192.168.3.228:1433;databaseName=NSDEV151;user=NSDEV151;password=800224", "jdbc:sqlserver://192.168.0.16;databaseName=nsag;user=nsag;password=11111111;instanceName=sql2005", "jdbc:sqlserver://192.168.3.228:1433;databaseName=NSDEV169;user=NSDEV169;password=186958"}; Connection conn = null; for (String tmp : msSqlUrls) { try { System.out.println(tmp); conn = DBUtils.createConn4MSSql(tmp); } catch (RuntimeException e) { e.printStackTrace(); } finally { DBUtils.close(conn); } } }