#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 из своего приложения, чтобы оно работало или нет, но оно показывает такую ошибку, есть ли способ исправить