Я создаю программу для местной организации по инвентаризации. Приложение подключается к SQL серверу через разъем MS SQL 8.2. Приложение на телефоне должно позволять получать и отправлять информацию об объектах. У меня есть класс stati c для подключения к базе данных, который обрабатывает соединение. В Eclipse я могу успешно подключиться и запросить базу данных. В студии Android я получаю ошибки при каждой попытке подключения.
-сервер размещен на том же p c.
-порты были настроены неоднократно. В настоящее время полностью открыты правила для входящего и исходящего трафика для TCP и UDP. Порты Dynami c включены для сервера SQL. Сервисы для сервера SQL перезапускались десятки раз. 1433 был включен и выключен, но в настоящее время пустые.
-Попытка подключения по IP-адресу, хост не может быть разрешен
-Разрешены права доступа, разрешающие доступ для входа в базу данных
-Интегрированная безопасность и безопасность TLS пытались в разное время, но обе попытки не удались.
Список ошибок:
Подключение к хосту BLACK-G, "xxxxx "порт 1433, отказал. Ошибка подключения TCP / IP к узлу, невозможно определить узел.
Подключение к узлу с именем BLACK-G instance sqlexpress не удалось, нет адрес, связанный с именем хоста, откройте UDP-трафик c на порт 1434 Исключение неизвестного хоста. Невозможно разрешить хост BLACK-G
В соединении отказано
Не удалось подключиться
Подключение к хост 192.168.1.219 вышел из строя. Не удалось подключиться к 192.168.1.219 (порт 1433) из 192.168.1.87 (порт 33654) через 2478 мс. Проверить свойства подключения.
Вот код
package com.example.ccupboard_1;
import android.os.Build;
import androidx.annotation.RequiresApi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DatabaseJAVA {
// @RequiresApi(api = Build.VERSION_CODES.KITKAT)//public static void main(String[] args) {
public static String Connect() {
// Create a variable for the connection string.
String connectionUrl = "jdbc:sqlserver://BLACK-G\\SQLEXPRESS;user=ay7;password=343434;databaseName=ayTestDatabase2;" ;
ResultSet resultSet = null;
try (Connection connection = DriverManager.getConnection(connectionUrl);
Statement statement = connection.createStatement();) {
// Create and execute a SELECT SQL statement.
String selectSql = "SELECT Fname, Lname from dbo.Customers";
resultSet = statement.executeQuery(selectSql);
// Print results from select statement
while (resultSet.next()) {
result += (resultSet.getString("Fname") + " " + resultSet.getString("Lname")+"\n");
}
} catch (SQLException e) {
e.printStackTrace();
result = e + "";
}
return result;
}
}
Фрагмент из основного действия, вызывающего метод подключения:
case R.id.buttonSignOut: { //used to test connection currently, simply attempts to connect and //returns the value to a textview on the page
Thread thread = new Thread() {
public void run() {
textviewLowItemAlert.setText(DatabaseJAVA.Connect());
}
};
thread.start();
break;
Что будет следующим шагом в решении этой проблемы? Это работает в Eclipse, но не в студии. Я пробовал более десятка различных строк подключения, и большинство из них выдавало одни и те же ошибки. Мой сервер не разрешает доступ к Android Studio? Большинство ошибок связано с тем, что Android студия не может найти его на сервере.