Подключение приложения Android к серверу sql через сервер sql express - PullRequest
0 голосов
/ 20 апреля 2019

Я искал способ подключения приложения Android к серверу SQL. Пробовал разные коды и спрашивал многих программистов. Не получил нигде Кажется, проблема в URL-адресе соединения.

Приложение, которое я должен сделать, включает создание некоторых таблиц sql. Например, в начале необходимо проверить данные входа в систему, предоставленные пользователем, по этим данным в одной из этих таблиц. В дополнение к Android studio, я был инструктором по установке и использованию SQL Server Express (больше ничего).

Используя SQL server express 2008 R2, я создал базу данных на своем компьютере и таблицу. Соединение с сервером не работает. Коды, которые я обнаружил, всегда включали пароль и имя пользователя для соединения. Это обязательно? Я не получил имя пользователя для подключения, когда я установил сервер. Это включало получение имени экземпляра и пароля.

Я искал информацию о параметрах URL-адреса соединения, чтобы исправить полученную ссылку. Не могу найти то, что мне нужно изменить.

Я нашел код, в котором можно определить пароль и имя пользователя:

private Connection conn;

    public MySQLConnection() throws SQLException {

        System.out.println("At MySQLConnection()");

        String driverName = "com.mysql.jdbc.Driver";
        try {
            Class.forName(driverName);
            Properties props = new Properties();
            props.setProperty("user","fred");
            props.setProperty("password","secret");
            props.setProperty("ssl","true");

            String url = "jdbc:mysql://zivpc/workers?user=fred&password=secret&ssl=true";
            Connection conn = DriverManager.getConnection(url);
            this.conn = DriverManager.getConnection(url);

            System.out.println("connected");


        } catch (ClassNotFoundException e) {
            System.out.println(e);
        }

Попытка подключения приводит к следующему исключению: CommunicationsException: Communications link failure.

Спасибо!

1 Ответ

0 голосов
/ 20 апреля 2019

Вам понадобится API (REST и т. Д.), Работающий на веб-сервере, причем этот веб-сервер имеет доступ к серверу базы данных, защищенному брандмауэром. И аутентификация для вашего API, чтобы у вас не было случайных людей, делающих ваш сервис и базу данных.

Ваш сервер баз данных вообще не должен быть подключен к Интернету или напрямую доступен вашему клиенту. Также не следует отправлять запросы SQL напрямую с клиента на сервер базы данных. Ваш API предоставляет набор функций и очень ограничен в отношении того, что клиент может запрашивать и получать.

Мобильное приложение -> Интернет -> Веб-сервер -> Брандмауэр -> SQL Server

Детали того, «как мне это реализовать», намного превосходят возможности переполнения стека. Есть многочисленные учебники и пошаговые руководства, доступные онлайн. Выбирай мудро.

Дополнительное примечание. Вы говорите, что используете SQL Server 2008R2 Express Edition. Имейте в виду, что эта версия SQL Server станет EOL менее чем через три месяца. Никто не должен был делать новые разработки в течение последних 5 лет. Будьте внимательны, советуясь с теми, кто «вел» вам установить эту версию в 2019 году.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...