powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблемы соединения с MySQL
3 сообщений из 3, страница 1 из 1
Проблемы соединения с MySQL
    #33472627
APD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APD
Гость
Пытаюсь соединиться с MySQL 5.0.16 через Connector/J 3.1.12.

#java --version
java version "1.4.2"
gij (GNU libgcj) version 4.0.0 20050519 (Red Hat 4.0.0-8)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 import  java.sql.*;

 public   class  JT {
   public   static   void  main(String args[]){
     try  {
       Class .forName("com.mysql.jdbc.Driver").newInstance();
    }  catch  (Exception e) {
        System.out.println(e.toString());
      }  

     try  {
    
      System.out.println("Found: " + DriverManager.getDriver("jdbc:mysql://localhost:3306/test").toString());
      java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=test&password=test");
      conn.close();

    }  catch  (SQLException e) {
      
        System.out.println("SQLException: " + e.getMessage());
        System.out.println("SQLState: " + e.getSQLState());
        System.out.println("VendorError: " + e.getErrorCode());

      }   


  }
}

Компилирую. При попытке запуска выдаёт следующее:

Found: com.mysql.jdbc.Driver@492f8
SQLException
: Error during query: Unexpected Exception: java.io.CharConversionException message given: null

Nested Stack Trace:


** BEGIN NESTED EXCEPTION **

java.io.CharConversionException

STACKTRACE:

java.io.CharConversionException
at gnu.gcj.convert.Input_iconv.read(char[], int, int) (/usr/lib/libgcj.so.6.0.0)
at java.lang.String.init(byte[], int, int, java.lang.String) (/usr/lib/libgcj.so.6.0.0)
at java.lang.String.String(byte[], int, int, java.lang.String) (/usr/lib/libgcj.so.6.0.0)
at com.mysql.jdbc.SingleByteCharsetConverter.SingleByteCharsetConverter(java.lang.String) (Unknown Source)
at com.mysql.jdbc.SingleByteCharsetConverter.initCharset(java.lang.String) (Unknown Source)
at com.mysql.jdbc.SingleByteCharsetConverter.getInstance(java.lang.String, com.mysql.jdbc.Connection) (Unknown Source)
at com.mysql.jdbc.StringUtils.getBytes(java.lang.String, java.lang.String, java.lang.String, boolean) (Unknown Source)
at com.mysql.jdbc.ByteArrayBuffer.writeStringNoNull(java.lang.String, java.lang.String, java.lang.String, boolean) (Unknown Source)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(com.mysql.jdbc.Statement, java.lang.String, java.lang.String, com.mysql.jdbc.Buffer, int, com.mysql.jdbc.Connection, int, int, boolean, java.lang.String, boolean) (Unknown Source)
at com.mysql.jdbc.Connection.execSQL(com.mysql.jdbc.Statement, java.lang.String, int, com.mysql.jdbc.Buffer, int, int, boolean, boolean, java.lang.String, boolean, byte, boolean) (Unknown Source)
at com.mysql.jdbc.Connection.configureClientCharacterSet() (Unknown Source)
at com.mysql.jdbc.Connection.initializePropsFromServer(java.util.Properties) (Unknown Source)
at com.mysql.jdbc.Connection.createNewIO(boolean) (Unknown Source)
at com.mysql.jdbc.Connection.Connection(java.lang.String, int, java.util.Properties, java.lang.String, java.lang.String, com.mysql.jdbc.NonRegisteringDriver) (Unknown Source)
at com.mysql.jdbc.NonRegisteringDriver.connect(java.lang.String, java.util.Properties) (Unknown Source)
at java.sql.DriverManager.getConnection(java.lang.String, java.util.Properties) (/usr/lib/libgcj.so.6.0.0)
at java.sql.DriverManager.getConnection(java.lang.String) (/usr/lib/libgcj.so.6.0.0)
at JT.main(java.lang.String[]) (Unknown Source)
at gnu.java.lang.MainThread.call_main() (/usr/lib/libgcj.so.6.0.0)
at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)


** END NESTED EXCEPTION **


SQLState: S1000
VendorError: 0


Причём если подставить неправильный логин/пароль/база выдаёт "Access denied".
То есть соединение всё-таки происходит, но не до конца. Пробовал указывать collationEncoding и charsetEncoding - не помогло. (Пробовал windows-1251(cp1251) и UTF-8)
...
Рейтинг: 0 / 0
Проблемы соединения с MySQL
    #33472834
APD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
APD
Гость
Проблема не решена, но можно закрыть.

Запустил этот же класс под WinXP. Получил кучу ошибок, которые

Caused by: java.lang.RuntimeException: Unable to initialize character set
mapping tables
at com.mysql.jdbc.CharsetMapping.<clinit>(CharsetMapping.java:73)


Выяснилось, что мне сюда http://bugs.mysql.com/bug.php?id=14938.

Думаю под Linux`ом причина та же.
...
Рейтинг: 0 / 0
Проблемы соединения с MySQL
    #33475157
dober
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=test&password=test");
Я севодня тоже наткнулся на эти грабли нехочет понимать все после ?
если jdbc:mysql://localhost:3306/test все ОК!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблемы соединения с MySQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]