Я просматриваю этот сайт довольно долгое время. Сообщество очень помогло мне, хотя я никогда не регистрировался. Спасибо за это.Соединение с сервером 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 в моем пути сборки.
Я надеюсь, что кто-то знает (о) эту проблему и готов помочь мне. Спасибо заранее.
Извините, мой английский, это не мой родной язык.
Какая версия драйвера jdbc используется? –
hi, "postgresql-9.4.1209.jar ". Я также пробовал" postgresql-9.4.1208.jar ", так как 1209 очень новый, но он не отличается – hywy
См. http://stackoverflow.com/questions/34729845/java-io-ioexception- незаконно-utf-8-sequence-initial-byte-is-11111xxx-252-ecl – Unknown