最近在做一个小项目,在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;
}
}