有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用库jTDS JDBC驱动程序将安卓应用程序连接到sql server 2012

我是一名新成员,安卓开发者。当我使用库jTDS JDBC驱动程序(jTDS-1.2.7)连接到sql server时,我收到以下错误:

    unknown server host name unable to resolve host "127.0.0.0.1\sqlexpress": No address associated with hostname

以下是源代码:

Connection connection ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
connection=CONN("sa", "abc123", "SqlForAndroid", "127.0.0.1\\sqlexpress:1433");
}

@SuppressLint("NewApi")
private Connection CONN(String _user, String _pass, String _DB, String _server )
{
StrictMode.ThreadPolicy policy = new    StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
Connection conn = null;
String ConnURL = null;
try {

    Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
    ConnURL = "jdbc:jtds:sqlserver://" + _server + ";"+"databaseName=" + _DB + ";user=" + _user + ";password=" + _pass +";";
    conn = DriverManager.getConnection(ConnURL);        
} catch (SQLException se) {
    Log.e("ERRO",se.getMessage());
} catch (ClassNotFoundException e) {
    Log.e("ERRO",e.getMessage());
} catch (Exception e) {
    Log.e("ERRO",e.getMessage());
}

return conn;

}

我需要一个解决方案


共 (1) 个答案

  1. # 1 楼答案

    您正在尝试连接到127.0.0.1。那就是你自己。我怀疑db在你的手机上,因为它不是SQLite。修复IP地址

    另外,从安全角度来看,通过移动设备直接连接数据库是个坏主意。它要求您允许任何IP连接到数据库。更好的方法是在两者之间放置一个Web服务,然后只允许该PC直接连接到数据库。这使得访问您的数据变得更加困难