2016-07-20 3 views
0

Я просматриваю этот сайт довольно долгое время. Сообщество очень помогло мне, хотя я никогда не регистрировался. Спасибо за это.Соединение с сервером java для postgresql не удалось (UTF-8)

Однако на этот раз я не могу найти решение своей проблемы, просто просмотрев, поэтому я решил зарегистрироваться здесь и указать свой вопрос, чтобы кто-то мог мне помочь.

Прежде всего, я хотел бы сказать, что я в основном в начале учебы, поэтому я еще не очень хорошо осведомлен. На данный момент я участвую в предстоящем экзамене, и мне нужно знать о базах данных. База данных по выбору - Postgresq. Но чтобы действительно понять что-то подобное, вам нужно попробовать, а не просто читать об этом.

Я не совсем уверен, какая именно информация требуется. Но для этого я использую Windows 7, pgadmin и eclipse, все они должны быть в курсе последних событий. Если вам нужна дополнительная информация, пожалуйста, обратитесь за ней.

Я использовал учебник для его запуска и запуска, однако я не могу установить соединение с базой данных с помощью eclipse. DriverManager.getConnection() вызывает ошибку UTF-8, которую я не понимаю и не могу ее исправить.

org.postgresql.util.PSQLException: The connection attempt failed. 
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:280) 
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:67) 
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:212) 
at org.postgresql.Driver.makeConnection(Driver.java:407) 
at org.postgresql.Driver.connect(Driver.java:275) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at com.hywy.TestConnection.main(TestConnection.java:23) 
Caused by: java.io.IOException: Illegal UTF-8 sequence: initial byte is 11111xxx: 252 
at org.postgresql.core.UTF8Encoding.decode(UTF8Encoding.java:131) 
at org.postgresql.core.PGStream.ReceiveString(PGStream.java:331) 
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:447) 
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:223) 
... 7 more 

Кодекса я использую:

import java.sql.*; 
import java.util.Properties; 
//import com.hywy.db.DbContract; 
public class TestConnection { 
public static void main(String[] args) { 
    Properties properties = new Properties(); 
    properties.setProperty("user", "postgre"); 
    properties.setProperty("password", "random_password"); 
    //properties.setProperty("ssl", "true"); 

    String url = "jdbc:postgresql://localhost:1112/people"; 
    try { 
     Class.forName("org.postgresql.Driver"); 
    // Connection c = DriverManager.getConnection(
    //   DbContract.HOST+DbContract.DB_NAME, 
    //   DbContract.USERNAME, 
    //   DbContract.PASSWORD); 

     Connection con = DriverManager.getConnection(url, properties); 
     //Connection c = DriverManager.getConnection("jdbc:postgresql://localhost:1112/people" , "postgre" , "random_password"); 

     System.out.println("DB connected"); 
    } catch (ClassNotFoundException | SQLException e) { 
     e.printStackTrace(); 
    } 
} 
} 

код немного беспорядка, так как я Гугле некоторое время для него и пытался некоторые вещи. Я не был уверен, следует ли мне вставлять код с комментариями вместе с остальной частью, но, по крайней мере, вы можете видеть, что я уже пробовал некоторые вещи. Я также пробовал другой порт, сначала я использовал стандартный порт (5432), но это не имело никакого значения.

Я также связал обновленный jar-файл jdbc в моем пути сборки.

Я надеюсь, что кто-то знает (о) эту проблему и готов помочь мне. Спасибо заранее.

Извините, мой английский, это не мой родной язык.

+0

Какая версия драйвера jdbc используется? –

+0

hi, "postgresql-9.4.1209.jar ". Я также пробовал" postgresql-9.4.1208.jar ", так как 1209 очень новый, но он не отличается – hywy

+0

См. http://stackoverflow.com/questions/34729845/java-io-ioexception- незаконно-utf-8-sequence-initial-byte-is-11111xxx-252-ecl – Unknown

ответ

0

Хорошо, ребята, я просто хотел сказать, что я исправил проблему. Я также хотел поблагодарить всех, кто пытался мне помочь.

Вполне логично, что никто не смог мне помочь, потому что это было связано только с моей глупостью. Ошибка произошло в

«JDBC: PostgreSQL: // локальный: 1112/люди»

Только тогда, когда я все это на другом компьютере, чтобы увидеть, если это моя система, я понял, Я не должен писать фактическое имя таблицы в конце строки, но вместо этого имя базы данных, поэтому я просто изменил «людей» на «postgres», и он сработал.

Извините за глупый вопрос, я надеюсь, что мой следующий будет лучше :)

* Тема может быть удалена или закрыта, или все, что вы хотите с ним делать.

Спасибо всем!

Смежные вопросы