jaVa111212121
弥猫深巷的老先森
2016-05-05 03:05

jdbc通过1433端口连接sqlserver数据库总是失败

最近在做一个小项目,在android的额产品里塞中直接用jdbc连接本地服务器的sqlserver数据库的时候出现这个错误:“请验证连接属性,并检查 SQL Server 的实例正在主机上运行, 且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接”

在网上查阅了很多资料,server的端口都是1433,IP2也启动了,sql实例也都启动了,server服务也重新启动了,防火墙也关闭了,但是就是一直连不上,大家有什么好的方法吗

这是简单的测试代码:
package com.example.myfinallytest;

import android.support.v7.app.ActionBarActivity;
import android.widget.TextView;
import android.os.Bundle;
import android.os.StrictMode;

import java.sql.*;

public class MainActivity extends ActionBarActivity {

private TextView Text;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()  
                        .detectDiskReads()  
                        .detectDiskWrites()  
                        .detectNetwork()  
                        .penaltyLog()  
                        .build());   
            StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()  
                        .detectLeakedSqlLiteObjects()  
                        .detectLeakedClosableObjects()  
                        .penaltyLog()  
                        .penaltyDeath()  
                        .build());  


    Text = (TextView)findViewById(R.id.Test);
    System.out.println("1");
    Connect();
    System.out.println("2");
}

  public Connection Connect(){ 
      String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载驱动
      System.out.println("加载驱动");
      String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=Test"; //连接数据库
      System.out.println("加载URL");
      String userName = "sa"; //服务器用户名
      String userPassword = "12345"; //服务器密码
      Connection Con = null; 
      try{ 
          System.out.println("进入try");
          Class.forName(driverName).newInstance(); //加载驱动到java虚拟机
          System.out.println("加载JAVA虚拟机");
          Con = DriverManager.getConnection(dbURL,userName,userPassword);
          Text.setText("连接成功!"); 
          System.out.println("连接成功!");
      }catch(Exception e){ 
          e.printStackTrace(); 
          Text.setText("连接失败!");
          System.out.println("连接失败!");
      }
      return Con;
  }

}

![![![图片说明](https://img-ask.csdn.net/upload/201605/05/1462417358_289781.png)图片说明](https://img-ask.csdn.net/upload/201605/05/1462417352_919748.png)图片说明](https://img-ask.csdn.net/upload/201605/05/1462417346_945896.png)图片说明

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

15条回答