Русские имена таблиц и столбцов

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
sadik
Сообщения: 2
Зарегистрирован: 15 июн 2006, 12:53

Русские имена таблиц и столбцов

Сообщение sadik » 15 июн 2006, 13:12

Всем привет.
Вот возникла такая ситуевина.
У клиента етсь прога, на дельфях, использует ADO к *.mdb (аксессовкой базе).
Прога писалась каким-то товарищем, он там наваял имена таблиц и столбцов на русском языке. все прекрасно работает, но есть косяки: файл расшарен на сетевом диске, при многопользовательском доступе он блокируется иногда и и дут глюки и бла-бла-бла...

Попросил помочь. Я сказал, что надо переходить на клиент-серверную технологию для нормальной работы.

Условия:
1. не переписывать весь код в проге, если делать новую структуру БД (без ИЗВРАЩЕНИЯ русских названий столбцов и таблиц).
2. если не получится, то овчинка выделки не стоит.

В каких СУБД это можно сделать? Прога небольшая да и база сама.
Идеально подошел бы FireBird (мне он нравится, сам я ранее в нем много хороших проектов написал, сейчас правда, перешел на oracle).

Можно ли как сделать это? Например, поставить драйвер ODBC под FireBird а там к нему ADO прикрутить... без правки всех запросов.

Но, главный гемор, можно ли создать такую базу, с нужными кодировками или как, чтобы эти долбаные имена русские поддерживались? Может как с Юникодом или еще с чем? Я боюсь, что потом будуть большие траблы с кодировкой и отображением в приложении?

ставить ради этого оракле для БД из 5 таблиц - из пушки по воробьям...

Есть варианты? Хоть сылка на доку или может кто сталкивался?

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Re: Русские имена таблиц и столбцов

Сообщение stix-s » 16 июн 2006, 05:48

sadik писал(а): 1. не переписывать весь код в проге, если делать новую структуру БД (без ИЗВРАЩЕНИЯ русских названий столбцов и таблиц).
DBGrid1.Columns[0].Title.Caption:='Рррусское поле'
так не подойдет?
зачем пользователю знать реальные названия полей?

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Re: Русские имена таблиц и столбцов

Сообщение CyberMax » 16 июн 2006, 06:13

stix-s писал(а):DBGrid1.Columns[0].Title.Caption:='Рррусское поле'
так не подойдет?
зачем пользователю знать реальные названия полей?
То, что ты предлашаешь, несколько не то.
Дело в том, что в Access'е разрешается использовать русские наименования столбцов и таблиц базы данных. В Firebird - только английские. Соответственно, запрос типа 'select * from ЛицевыеСчета' уже не сможет работать и надо править все запросы.

По сабжу - у нас тоже была такая же проблема. Решилась просто - купили другую аналогичную программу, которая работает под Firebird :).

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Re: Русские имена таблиц и столбцов

Сообщение stix-s » 16 июн 2006, 07:30

CyberMax писал(а): То, что ты предлашаешь, несколько не то.
Дело в том, что в Access'е разрешается использовать русские наименования столбцов и таблиц базы данных. В Firebird - только английские. Соответственно, запрос типа 'select * from ЛицевыеСчета' уже не сможет работать и надо править все запросы.

По сабжу - у нас тоже была такая же проблема. Решилась просто - купили другую аналогичную программу, которая работает под Firebird :).
Совершенно верно, но я полагаю что при наличии исходников программы не составит труда использовать replace и заменить ЛицевыеСчета на Personal_accounts а в описании полей в гриде прописать русские названия. Другой возможности перехода на FB ИМХО не вижу.

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Сообщение CyberMax » 16 июн 2006, 07:36

Если честно, я так и не понял, что конкретно надо вопрошающему :?. Как-то мутно написано. Поэтому от ответа на его пост воздержался :D.

sadik
Сообщения: 2
Зарегистрирован: 15 июн 2006, 12:53

Сообщение sadik » 16 июн 2006, 14:03

Все понятно. Будем искать другое решение...
Всем спасибо за ответы.

Ответить