Не выходит подключить Sql Server к приложению Android
Подключение через эмулятор срабатывает и приложение работает прекрасно, но когда я пытаюсь запустить приложение на телефоне ничего не получается. Приложение включается, очень долго грузится, но подключение не происходит. Весь код подключения был взят с этого сайта Прикладываю основную часть кода:
Java:
private static String ip = "192.168.1.101";
private static String port = "1433";
private static String Classes = "net.sourceforge.jtds.jdbc.Driver";
private static String database = "testDatabase";
private static String username = "test";
private static String password = "test";
private static String url = "jdbc:jtds:sqlserver://"+ip+":"+port+"/"+database;
private Connection connection = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.INTERNET}, PackageManager.PERMISSION_GRANTED);
textView = findViewById(R.id.textView);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
try {
Class.forName(Classes);
connection = DriverManager.getConnection(url, username,password);
textView.setText("SUCCESS");
} catch (ClassNotFoundException e) {
e.printStackTrace();
textView.setText("ERROR");
} catch (SQLException e) {
e.printStackTrace();
textView.setText("FAILURE");
}
}
Manifest:
<uses-permission android:name="android.permission.INTERNET"/>
Gradle:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'net.sourceforge.jtds:jtds:1.3.1'
}
Очень надеюсь на вашу помощь.
Ответы (1 шт):
Автор решения: Barmaley
→ Ссылка
- Коннекшн надо "садить" в отдельный поток
AsyncTaskилиRunnable - По-моему поддерживаются только JDBC драйвера Type 4