Соединение 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 для него, поскольку это тема, о которой многие люди уже писали по всему Интернету.