最近在学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";
Properties info
= new Properties();
info
.setProperty("username", "sa");
info
.setProperty("password", "305825389");
Connection con
= driver
.connect(url
, info
);
System
.out
.println(con
);
}