![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| aquaserpent |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 15.8.2005 Репутация: нет Всего: нет |
Нужно перетащить данные из XML-файла в БД FireBird. Данные в XML хранятся в кодировке UTF-8. Считываются правильно. А вот запрос на вставку в БД на executeUpdate(String) вываливается по "org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544321. No message for code 335544321 found. No message for code 335544565 found."
Эта же строка через IBExpert вставляется без проблем. В БД поля хранятся в UNICODE_FSS. Как с этим бороться? |
|||
|
||||
| SmaLL |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 557 Регистрация: 17.12.2002 Где: Voronezh Репутация: 1 Всего: 2 |
http://people.comita.spb.ru/users/sergeya/java/ruschars.html
Попробуй что-то типа этого (за синтаксис не ручаюсь, см. хелпы)
-------------------- Что ни делается - всЁ к лучшему! SmallWeb Мой адрес не дом и не улица, мой адрес родной пивзавод! |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Лучше даже не пытаться так делать. Мы перевели строку в UTF-8 а потом пытаемся ее декодировать как Windows-1251, что при этом будет никто не поручится. Вероятнее всего будут потерянны символы которые не входят в кодировку Windows-1251 (т.е. не русские буквы и не ASCII). Откуда ты берешь XML (читаешь из файла или сам генерируешь), и приведи код которым ты его пишешь в базу. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| aquaserpent |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 15.8.2005 Репутация: нет Всего: нет |
В том-то и дело, что XML не мой. Из того, что дали, нужно сделать конфетку (перегнать в БД).
Сервер Firebird 1.5.0. Использую Jaybird FirebirdSQL-1.5.5JDK_1.4. Стандартная процедура работы с БД:
Те записи, в которых в строках только английские символы, вставляются. Как только встречается что-то специфическое - нет. Копирую значение переменной insertStr в IBExpert (естесственно удаляю слэши перед кавычками и апострофами) - и запрос проходит. Как можно указать кодировку подключения к БД? |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Попробуй использовать такой URL: jdbc:firebirdsql://localhost//home/databases/sample.gdb?lc_ctype=UNICODE_FSS. Это верно для драйвера JayBird JCA/JDBC Driver v1.5.5.
Но почему то я думаю что дело не в кодировке БД. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| aquaserpent |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 15.8.2005 Репутация: нет Всего: нет |
Вот это именно то, что нужно. Спасибо. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |