как подключить sql server 2008 из моего приложения для Android

#android #sql-server-2008 #database-connection

#Android #sql-server-2008 #подключение к базе данных

Вопрос:

Я разрабатываю приложение для Android для подключения SQL Server 2008, и это мой исходный код DBConn.java

 public class DBConn {
    private static Connection conn = null ;
    private static String DRIVER = "net.sourceforge.jtds.jdbc.Driver";
    private static String DB_NAME = "TestDB" ;
    private static String DB_USER = "sa" ;
    private static String DB_PASSWORD = "sa" ;

    public boolean conSqlServer() {
        Log.d("ERR","start connect SQL SERVER") ;

        try {
            Class.forName(DRIVER).newInstance();
            String connString = "jdbc:jtds:sqlserver://192.168.1.100:1433/TestDB; instance=SQLEXPRESS; user=sa;password=sa";
            conn = DriverManager.getConnection(connString);
            Log.d("SUCCESS","Connection successful ");
            return true;
        }
        catch (SQLException e) {
            Log.d("ERR","ERROR CONNECTION 1 = "   e.getMessage());
            e.printStackTrace();
            return false ;
        }
        catch (Exception ex ) {
            Log.d("ERR","ERROR CONNECTION 2 = "   ex.getMessage());
            ex.printStackTrace();
            return false ;
        }
    }
}
 

я вызываю это из MainActivity.java

 public class MainActivity extends ActionBarActivity {
....
....
    DBConn dbconn = new DBConn();
    dbconn.conSqlServer() ;
...
}
 

AndroidManifest.xml

 <manifest>
    .....
    <uses-permission android:name="android.permission.INTERNET" />
    .....
</manifest>
 

но я получил такую ошибку

 java.sql.SQLException: Network error IOException: socket failed: EACCES (Permission denied)
at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:436)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
at java.sql.DriverManager.getConnection(DriverManager.java:179)
at java.sql.DriverManager.getConnection(DriverManager.java:213)
at com.noh.connectdb.app.core.DBConn.conSqlServer(DBConn.java:35)
at com.noh.connectdb.app.MainActivity.onCreate(MainActivity.java:20)
....
....
 
  • Я запускаю с устройства Android через Wi-Fi
  • Я проверяю соединение, мое устройство может пинговать сервер
  • брандмауэр закрыт
  • открыт порт 1433

может ли кто — нибудь мне помочь?

Комментарии:

1. Подключение к вашей базе данных из вашего приложения — это NOGO. Я не знаю, чего вы пытаетесь достичь, но вместо этого используйте API. если я получил ваше приложение, я могу легко взломать вашу базу данных путем обратного проектирования вашего приложения.

2. я просто пытаюсь подключить sql server из своего приложения, чтобы оно работало или нет, но оно показывает такую ошибку, есть ли способ исправить