2016-01-28 2 views
1

Я делаю приложение в студии Android с подключением к серверу базы данных SQL, у меня есть проблема с подключением к базе данных.Android Studio Sql Server Connection

Код:


import android.util.Log; import java.sql.Connection; import   java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import net.sourceforge.jtds.jdbc.*; 
    Log.i("Android", " MySQL Connect Example."); 
    Connection conn = null; 
    try { 
     String driver = "net.sourceforge.jtds.jdbc.Driver"; 
     Class.forName(driver).newInstance(); 
     //test = com.microsoft.sqlserver.jdbc.SQLServerDriver.class; 
    //String connString = "jdbc:jtds:sqlserver://localhost:1433/quehojaes;encrypt=false;user=Pc-PC;password=;instance=SQLEXPRESS;"; 
     // String connString = "Data Source=localhost:1433;Initial Catalog=quehojaes;Integrated Security=True"; 
     String connString ="jdbc:jtds:sqlserver://localhost:1433/quehojaes;"; 


     String username = "Pc-PC"; 
     String password = ""; 
     conn = DriverManager.getConnection(connString); 
     Log.w("Connection", "open"); 
     Statement stmt = conn.createStatement(); 
     ResultSet reset = stmt.executeQuery("select * from planta where id=1"); 

     //Print the data to the console 
     while (reset.next()) { 
      dato = reset.getString(3); 
      Log.w("Data:", reset.getString(3)); 
     Log.w("Data",reset.getString(2)); 

     } 
     conn.close(); 

    } catch (Exception e) { 
     Log.w("Error connection", "" + e.getMessage()); 
    } 


    return dato; 
} 

.................................

У меня ошибка в строке (conn = DriverManager.getConnection (connString)), поэтому я думаю, что это неправильный пользователь, я пытаюсь попасть в базу данных, я вводил аутентификацию пользователя Windows с локальной базой данных, и у меня нет пароль для этого пользователя под названием Pc.

Есть строки, обсужденные неудачными попытками входа в систему, которые я пробовал.

Спасибо за помощь!

ответ

2

localhost означает вашу текущую машину. Это будет телефон. Поскольку SQLServer не работает на вашем телефоне, это неправильная строка. Используйте IP-адрес вашего ПК и убедитесь, что вы можете получить доступ к этому порту через любого интернет-провайдера или личные брандмауэры.

Как в стороне - это УЖАСНЫЙ способ делать что-то. Вы должны поместить свой пароль в SQL-сервер в своем приложении. Его тривиально декомпилировать и владеть вашими данными. Вместо этого вы должны установить веб-сервис между ними, поэтому только у вас есть собственные компьютеры в вашей локальной сети, которые должны иметь пароль db.