Соединение JDBC Postgres в справке Eclipse

Я пытаюсь получить соединение postgres jdbc, работающее в eclipse. Было бы неплохо использовать проводник Data Source, но сейчас я просто пытаюсь получить базовое соединение. Что я сделал до сих пор, загрузите соединитель JDBC postgres. Затем я попробовал две разные вещи. Во-первых, Preferences- > Data Management, я попытался добавить коннектор postgres. Во-вторых, я добавил банку в свой проект и попытался загрузить драйвер, используя Class.forName( "org.postgresql.Driver" ); но никто не работал. У кого-нибудь есть идеи?

Спасибо,  Charlie

Ответ 1

Вот как я установил связь: (Я не знаю, является ли это "лучшей практикой", но она работает.)

Импорт драйвера:

  • Щелкните правой кнопкой мыши на своем проекте
  • Выберите свойство
  • Выберите Java build path
  • Выберите Add external JARS.. и выберите местоположение для драйвера JDBC.

Вот мой код:

try{
    Class.forName("org.postgresql.Driver");
    } catch (ClassNotFoundException cnfe){
      System.out.println("Could not find the JDBC driver!");
      System.exit(1);
    }
Connection conn = null;
try {
    conn = DriverManager.getConnection
                   (String url, String user, String password);
     } catch (SQLException sqle) {
       System.out.println("Could not connect");
       System.exit(1);
     }

URL может быть одного из следующих форматов:

jdbc:postgresql:database
jdbc:postgresql://host/database
jdbc:postgresql://host:port/database

Ответ 2

У меня тоже была эта проблема, и ответ Vjeux помог мне в правильном направлении.

У меня есть локальная копия Tomcat6, которая была установлена ​​и управляется Eclipse. Он был установлен в "$ HOME/bin/tomcat6". Чтобы заставить работать драйвер PostgreSQL JDBC, я просто скопировал файл postgresql.jar в каталог $HOME/bin/tomcat6/lib.

Кроме того, если вы не знаете, где взять драйвер, в первую очередь, попробуйте это. Я запускаю Ubuntu, поэтому я запустил "sudo apt-get install libpg-java", который установил драйвер в "/usr/share/java/postgresql.jar", и поэтому я просто скопировал его оттуда.

Ответ 3

У меня была такая же проблема с использованием GWT.

Я исправил его, скопировав файл jar внутри папки "lib": (Project\war\WEB-INF\lib). Когда вы добавляете банку в путь сборки, кажется, что она делает ссылку статически, однако мы хотим, чтобы lib во время выполнения!

Надеюсь, что он исправит вашу проблему.

Ответ 4

вы можете написать этот код в файле persistence.xml

      <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
        <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/yourDataBaseName"/>
        <property name="javax.persistence.jdbc.user" value="postgres"/>
        <property name="javax.persistence.jdbc.password" value="yourPassword"/>

Ответ 5

Здесь один из способов подключения PostgreSQL к вашему приложению:

  • Получить экземпляр org.postgresql.ds.PGSimpleDataSource
  • Установите его со значениями, соответствующими вашей базе данных (см. ниже).
  • Продолжайте использовать DataSource, поскольку вы бы использовали любой другой, я бы предположил, что в этот момент вас будет интересовать метод DataSource.getConnection().

Запатентованными методами настройки этого конкретного источника данных являются setServerName(), setDatabaseName(), setUser() и setPassword().

Я бы не рекомендовал делать это ни для чего другого, кроме как тестировать, и, возможно, ваша проблема кроется в том, как вы пытаетесь получить экземпляр объекта, используя Class.forName() Там почти дюжина различных способов получить экземпляр объекта с небольшими различиями, я предлагаю Googling для него, поскольку это тема, о которой многие люди уже писали по всему Интернету.