Задать вопрос
@sbuw

Проблема с подключением PostgreSQL к Java?

Хочу сделать приложение, которое работает с PostgreSQL.
PostgreSQL JDBC Driver установлен и с ним проблем нет, но почему-то вылетает ошибка SQLException, хотя данные от бд указал верно.

Код ниже:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class MainActivity extends AppCompatActivity {

    String url = "jdbc:postgres://тут правильный url";
    String user = "юзер правильно указан";
    String password = "пароль тоже правильно указан";

    Connection conn = null;
    Statement stat = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        try {
            Class.forName("org.postgresql.Driver");

            conn = DriverManager.getConnection(url, user, password);
            stat = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

            conn.setAutoCommit(false);
        } catch (ClassNotFoundException e) {
            Toast.makeText(MainActivity.this, R.string.no_posgressql_driver, Toast.LENGTH_LONG).show();
            e.printStackTrace();
        } catch (SQLException e) {
            Toast.makeText(MainActivity.this, R.string.no_connect, Toast.LENGTH_LONG).show();
            e.printStackTrace();
        }
  • Вопрос задан
  • 257 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день.
Вопрос 1 - где установлена БД PostgresSQL.
Я так понимаю, что вы хотите подключиться к удаленной БД из моб. телефона? Если да, то попробуйте для начала проверить соединение без android. Например, на чистом Java

Вопрос 2 - насколько корректно указаны конфиги? Например, номер порта 5432

String url = "jdbc:postgres://тут правильный url";
    String user = "юзер правильно указан";
    String password = "пароль тоже правильно указан";


Вообще скажу, что не очень хорошая практика делать приложение, которое коннектится к БД напрямую из приложения. Обычно, для этого пишут API (rest сервис)

Также рекомендую использовать ORM и try with resources
Ответ написан
Spring Data JPA вам не подойдёт? Минимум настройки, заводится влёт.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы