无法连接JDBC SQL服务器问题,怎么解决

2025-03-18 09:59:50
推荐回答(1个)
回答(1):

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

百度了一下有两种方法。

方法一:

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


可以看到端口号为11588

方法二:




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

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

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


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


可以看到正常使用

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

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

[java] view plain copy

  • 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一下没有任何异常,,
  • 下面就连接数据库插入一个表试试吧

    [java] view plain copy

  • 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");  

  • }  


  • 编译运行无异常

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

    欢迎指正。