JAVA之JDBC的相关问题(无法与SQLServer连接的解决)

时间:2022-02-23 05:00:52

昨天看到了JDBC的那一章,要用到数据库,就百度了SQL下载安装了,安装完之后,才知道还要下载驱动,于是百度又下了mysql....jar的包,又搜索如何加入到项目中,


一切完成之后就开始加载去驱动连接数据库了


问题就来了。。


首先try catch 一下 class.forName("com.mysql.driver")是没有异常的


也就是说,是这几条代码出了问题,再把connection try catch,发现有SQL异常

			String url = "jdbc:mysql://127.0.0.1:11588/test728";
String user = "sa";
String password = "123456";
Connection con = DriverManager.getConnection(url,user,password);

也就是说这四句至少有一个出了问题


首先我可以确定sa和密码都能登录,于是问题应该在url或者connection上,也有可能connection没问题,是getConnection的参数的url出了问题,。。。


在这里要插入一个问题,就是数据库占用的端口问题。


百度了一下有两种方法。

方法一:

打开数据库,新建查询,输入code,

JAVA之JDBC的相关问题(无法与SQLServer连接的解决)

可以看到端口号为11588


方法二:

JAVA之JDBC的相关问题(无法与SQLServer连接的解决)

JAVA之JDBC的相关问题(无法与SQLServer连接的解决)

JAVA之JDBC的相关问题(无法与SQLServer连接的解决)


在这里我还要插入一个我遇到的问题,就是IPALL的TCP动态端口是0,,,我的是0,,,

问题是SQLNAME的TCP/IP协议未开启

解决办法就是把它开启,然后再把SQLNAME的服务重新启动,这是必须的,否则更改无效。

JAVA之JDBC的相关问题(无法与SQLServer连接的解决)


还可以用cmd的netstat -an命令查看端口是否在使用

JAVA之JDBC的相关问题(无法与SQLServer连接的解决)

可以看到正常使用


把url写好之后try  catch还是报错了,各种百度之后才发现问题,,,原来我下载的是SQL server 2008  然而url写的是 mysql  这两个数据库不是一家人。。。


于是乎,我又重新下载SQL的jar,重新加入项目,重新写代码

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://127.0.0.1:11588;DatabaseName=test728";
String user = "sa";
String password = "123456";
Connection con = DriverManager.getConnection(url,user,password);


到这里try  catch一下没有任何异常,,


下面就连接数据库插入一个表试试吧

		try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://127.0.0.1:11588;DatabaseName=test728";
String user = "sa";
String password = "123456";
Connection con = DriverManager.getConnection(url,user,password);
String sql = "insert into dbo.StuInfo (username,password,sex,age) values('张三','123','男',22)";
Statement sta = con.createStatement();
sta.executeUpdate(sql);
con.close();
} catch (SQLException e) {
// TODO: handle exception
System.out.println("error");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("class error");
}

编译运行无异常

JAVA之JDBC的相关问题(无法与SQLServer连接的解决)


以上是我本人遇到的问题,算挺多的


欢迎指正。