Вниз
Скачать: CL | DM;

Проблема с кодировкой   Найти похожие ветки 

← →
Rel_   (2003-09-09 08:53) [0]

Мастера, просветите !!! Возникла следующая проблема:

Работаю с ORACLE через компоненты прямого доступа (минуя BDE). Заливаю локальную таблицу (dBase) на сервер. Таблицы, в которых выставлена кодировка dBase866 Rus копируются отлично. В таблицах, в которых выставлена кодировка ascii ... - искажается русский текст.

Как энтого миновать - т.е. предусмотреть в программе решение данного вопроса, чтобы не заставлять пользователя менять кодировку таблицы руками (т.е. самому) ???


← →
Reindeer Moss Eater ©   (2003-09-09 09:05) [1]

чтобы не заставлять пользователя менять кодировку таблицы руками (т.е. самому) ???

Делай это в своей программе перед импортом.


← →
Rel_   (2003-09-09 09:20) [2]

Я не против, но:
1) Как энто сделать программно (там, кажется, какойто байт необходимо выставлять).
2) Как при этом обеспечить сохранность исходной локальной таблицы. Исходная таблица должна остаться в неизменном состоянии. Создавать копию таблицы (с изменёнными параметрами) и затем убивать её поле заливки (?? наверное ??) не подойдёт, т.к. размеры исходных таблиц могут быть просто грандиозными (2 гега для локальной таблицы - это много).


← →
Reindeer Moss Eater ©   (2003-09-09 09:35) [3]

1) Как энто сделать программно
Сначала надо узнать что делает пользователь "руками" что бы ему полегчало.

2) Как при этом обеспечить сохранность исходной локальной таблицы. Исходная таблица должна остаться в неизменном состоянии. Создавать копию таблицы (с изменёнными параметрами) и затем убивать её поле заливки (?? наверное ??) не подойдёт, т.к. размеры исходных таблиц могут быть просто грандиозными (2 гега для локальной таблицы - это много).

1. Купить диск большего размера
2. Отменть внесенные изменения в файл после импорта.
3. Иметь правильный Dbase-файл, не требующий доп.телодвижений
4. Сменить библиотеку доступа к Dbase, которой наплевать на неправильные байты
5. И т.д.


← →
roottim   (2003-09-09 09:47) [4]

если очень надо могу прислать свою мульку в ехе по перегону дбейз в оракле (работает в 2-х режимах Direct path или DML)


← →
Rel_   (2003-09-09 09:52) [5]

Сначала надо узнать что делает пользователь "руками" что бы ему полегчало.
Давай упростим задачу:

Перед тем, как таблица будет залита на сервер, она должна открыта примитивным запросом с помошью объекта TQuery: "select * from "--path--"". Вот на этом шаге и возникает проблема с кодировкой.
Представь, что пользоваль руками нажимает только кнопку на форме и затем выполняется запрос - вот на этом этапе как избежать проблемы???


← →
Reindeer Moss Eater ©   (2003-09-09 09:57) [6]

вот на этом этапе как избежать проблемы???
Сначала надо вникнуть в суть проблемы.
Выяснить в какой кодировке присутствуют данные в файле, выяснить какой языковый драйвер использует БДЕ для DBase и т.д.


← →
Rel_   (2003-09-09 09:58) [7]

to roottim
Конечно присылай - буду крайне благодарен. Если бы ещё исходничек (если не очень жалко). У меня просто тоже есть модуль по перегону на ORACLE (работает мгновенно) - вот только перед его запуском надо справиться с указанной проблемой (могу прислать тоже).
Просто мой модуль работает в комплексе, поэтмоу исходник, конечно, был бы намного желательнее (чтоб я его мог изменить под себя или хотябы посмотреть твой механизм копирования).

Заранее благодарен !!!


← →
Rel_   (2003-09-09 10:02) [8]

to Reindeer Moss Eater ©
Без проблем :
языковой драйвер в BDE: dBASE RUS cp866
если данные в файле в той же кодировке - то всё OK, если они представлены в "ascii"ANSI кодировке - то беда.

Вот это и есть суть моего вопроса !!!


← →
Reindeer Moss Eater ©   (2003-09-09 10:04) [9]

TSession.ModifyDriver - решение этой проблеммы


← →
roottim   (2003-09-09 10:19) [10]

просто ради любопытства...
куда выслать? :)


← →
Rel_   (2003-09-09 10:28) [11]

to Reindeer Moss Eater © Спасибо, обязательно попробую !!!

to roottim : ryab_el@rambler.ru - спасибо за помошь !!!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.016 c
14-96422
TGrey
2003-09-10 20:43
2003.09.29
Метод Гауса


7-96456
ctapik
2003-07-07 21:49
2003.09.29
Как остановить работу с ком портом?


14-96379
Mr@MsGuns
2003-09-11 11:35
2003.09.29
Все. Бросаем заниматься сексом. Прямо сейчас. Ни одной девочки.


14-96363
Nik8-SSSS
2003-09-12 11:50
2003.09.29
:((((((((((


1-96177
DProg
2003-09-16 11:49
2003.09.29
Работа с TWordApplication, TWordDocument. Прошу помощи.




   Наверх