Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.29;
Скачать: 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 вся ветка

Текущий архив: 2003.09.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.037 c
14-96401
Князь Мышкин
2003-09-11 00:16
2003.09.29
Все. Бросаем есть. Прямо сейчас(23:30). Ни одного пончика.


1-96165
First_May
2003-09-16 10:26
2003.09.29
Класс


3-96051
abx
2003-09-10 16:29
2003.09.29
какой тип курсора выбрать клиентский или серверный??


6-96331
Shluz
2003-06-24 17:44
2003.09.29
E-mail чисто на Api


14-96359
Е-Моё имя
2003-09-12 10:00
2003.09.29
Интернет