![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| agR |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.7.2006 Где: Киев Репутация: 2 Всего: 2 |
Необходимо один DBF файл разбить на несколько других. То есть часть инфы в одну сторону, а часть - в другую.
Для чтения данных использую мост jdbc:odbc , а для создания новых DBF-ок приходится пользоваться JavaDBF, т.к. оказывается нормально создать табличку jdbc:odbc не в состоянии (зато хоть читает норм ;)). Исходный файл содержит кириллицу, которая в новых файлах отображается в виде "???" и др. символах (в зависимости от кодировки). Перебрал уйму кодировок, но так и не привел строки в чувство. По идее файл имеет кодировку cp866 (DOS), для чтения использую такое соединение:
потом в массив заношу значения:
Для записи пользуюсь классом:
в файле OSN_NEW.DBF 13 поле будет отображено неправильно. То же будет и с другими полями если в них ввести кириллицу. Помогите плз... П.С. Если не выйдет заставят делать на Delphi..... не дайте им сделать это! |
||||||
|
|||||||
| fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 6 Всего: 27 |
Это одноразовая процедура, или нужно делать периодически?
Во-первых, проверьте, а читаются даные корректно? (в rs.getString(2)). Для работы с dbf через JDBC-ODBC рекомендую http://download.microsoft.com/download/vfo...-US/VFPODBC.msi Это сообщение отредактировал(а) fixxer - 20.7.2007, 12:47 -------------------- ![]() |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
А разве кодовая страница не cp1251 ?
|
|||
|
||||
| fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 6 Всего: 27 |
Смотря как/где файлик сделан. Если в FoxPro 2.6, то запросто 866. agR, опишите задачи поподробнее, возможно удастся обойтись "INSERT INTO ... SELECT ... FROM ... WHERE ..." Это сообщение отредактировал(а) fixxer - 20.7.2007, 12:51 -------------------- ![]() |
|||
|
||||
| agR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.7.2006 Где: Киев Репутация: 2 Всего: 2 |
Одноразовая... типа старое в новое, а потом идет работа с новым, а на старое забивается.
Все читается корректно. Ставил в charSet cp1251 - в консоли выглядит так как надо. Где, кем и как создавалась база мне не известно, хотя процентов 60-70 в каком-то DOS-приложении. |
|||
|
||||
| fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 6 Всего: 27 |
Если одноразовая, то проще всего взять Visual FoxPro и все сделать там. (Даже чисто на SQL'е)
-------------------- ![]() |
|||
|
||||
| agR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.7.2006 Где: Киев Репутация: 2 Всего: 2 |
||||
|
||||
| agR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.7.2006 Где: Киев Репутация: 2 Всего: 2 |
||||
|
||||
| fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 6 Всего: 27 |
Я Вам дал ссылку на драйвер. Он должен поддерживать расширенный синтаксис SQL
А как Вы таблицу пробовали создать? Через DDL? Это сообщение отредактировал(а) fixxer - 20.7.2007, 13:47 -------------------- ![]() |
|||
|
||||
| agR |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.7.2006 Где: Киев Репутация: 2 Всего: 2 |
Нет. Создание написано в первом посте после слов: Вот так и создаю. JavaDBF работает через свои методы.
Спасибо. Сейчас будем смотреть. |
||||
|
|||||
| fixxer |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 6 Всего: 27 |
Нет, когда пробовали через jdbc:odbc Добавлено через 1 минуту и 31 секунду Вообще подозреваю, что дело в JavaDBF. Он запросто может не прописывать кодовую страницу в файл. -------------------- ![]() |
||||
|
|||||
| agR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.7.2006 Где: Киев Репутация: 2 Всего: 2 |
Вот тут я тогда описал проблему.
Где-то потом прочитал, что jdbc:odbc на данный момент поддерживает лишь корректное чтение. Есть метод setCharactersetName(), но он походу не работает. Это сообщение отредактировал(а) agR - 20.7.2007, 14:14 |
|||
|
||||
| fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 6 Всего: 27 |
О! А вы javadoc на JavaDBF читали? У суперкласса DBFWriter'а DBFBase есть метод setCharactersetName(String). Моя чувствительная жопа подсказывает, что это должно помочь. Правда не уверен в том в каком формате нужно задавать это имя. Поиграйтесь, посмотрите доки.
Это сообщение отредактировал(а) fixxer - 20.7.2007, 14:14 -------------------- ![]() |
|||
|
||||
| agR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.7.2006 Где: Киев Репутация: 2 Всего: 2 |
Этим сейчас и занимаюсь Добавлено через 4 минуты и 1 секунду Так и есть, он не работает. Ставил ср1251 и ср866 Проверил при помощи проги - файлы идентичны. Это сообщение отредактировал(а) agR - 20.7.2007, 14:15 |
|||
|
||||
| fixxer |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 6 Всего: 27 |
А вот и неправда Ваша. Работает. Как cp1251 так и cp866. Пример содрал из туториала, только заменил поле во второй записи на русское слово "Тест"
-------------------- ![]() |
||||
|
|||||
![]()
|
| Правила форума "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. |