最近在学jdbc,在网上看的视频是用的mysql数据库,在进行链接的时候一直出现找不到端口1433的错误,本来以为可能是因为数据库方面端口设置错误,但反复确认了端口是没有问题的,后来用telnet端口也是ok的,后来才发现用jdbc链接sql server2008基本和mysql一样,不过在一些细节方面有区别。
错误的代码
public class ConnectionTest1 {
@Test
public void testConnection1() throws SQLException{
Driver driver = new com.microsoft.sqlserver.jdbc.SQLServerDriver();
String url = "jdbc:sqlserver://localhost:1433/scott";//错误就在这一行
Properties info = new Properties();
info.setProperty("username", "sa");
info.setProperty("password", "305825389");
Connection con = driver.connect(url, info);
System.out.println(con);
}
开始的时候我一直以为是端口号出现错误了,后来也是打开了服务器配置进行配置,并用Telnet 127.0.0.1 1433 命令试过,有结果表明本机有这个端口。
后来我翻书的时候,发现sql server 2008 的在填写url信息的时候,ip地址和数据库名中间是用“;”分开的,我就试了一试,果然一次搞定。修改后的代码如下
正确代码
public class ConnectionTest1 {
@Test
public void testConnection1() throws SQLException{
Driver driver = new com.microsoft.sqlserver.jdbc.SQLServerDriver();
String url = "jdbc:sqlserver://localhost:1433; databasename = scott";//ip地址输完后,单独输出数据库名字,databasename 只是一个代号,不一定更要用这个,大小写也没有锁定
Properties info = new Properties();
info.setProperty("username", "sa");//username不区分大小写,也可以用user
info.setProperty("password", "305825389");//不区分大小写
Connection con = driver.connect(url, info);
System.out.println(con);
}