Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2010, 11:13   #1
palevg
Пользователь
 
Аватар для palevg
 
Регистрация: 03.10.2010
Сообщений: 77
По умолчанию Перенос БД с BDE на ...?

Некая БД написана в Delphi с использованием BDE и таблиц Paradox. Давно написана, последние годы только видоизменяется, исходя из условий задач.

Есть мнение, что давно уже пора бы отказаться от BDE и использовать более новый движок СУБД.
Вот тут и дилемма: какой выбрать, если желательно оставить таблицы в первоначальном виде.
А если не трогать таблицы не получится, то есть ли вариант конвертации таблиц в нужный формат?

ЗЫ: благодаря инфе уважаемого GunSmoker смог сконнектиться с Paradox-таблицами через ADO.
А именно: создал новый проект, поместил туда компоненты TADOConnection, TADOQuery, TDataSource, TDBGrid и TDBNavigator.
В режим редактирования входит, но вот при попытке сохранить изменения выдаёт ошибку с текстом: "В операции должен использоваться обновляемый запрос".
Потом обнаружил, что удалять запись в таблице тоже не даёт. Отакэ...
По соотношению цена-качество, халявное пиво не имеет конкурентов.
palevg вне форума Ответить с цитированием
Старый 13.10.2010, 11:35   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
Вот тут и дилемма: какой выбрать, если желательно оставить таблицы в первоначальном виде.
Стандартный вопрос. И такой же стандартный ответ: СМОТРЯ ДЛЯ КАКИХ ЦЕЛЕЙ. Я перевел парадох на MySQL (Более сотни таблиц и более 100 форм) за один день без какой-либо потери данных. Пришлось повозиться с логическими полями, т.е. True/False заменить на 1/0. Но это мелочи.
Программа "ESF Database Convert" тебе в помощь

Последний раз редактировалось _SERGEYX_; 13.10.2010 в 11:40.
_SERGEYX_ вне форума Ответить с цитированием
Старый 13.10.2010, 19:10   #3
palevg
Пользователь
 
Аватар для palevg
 
Регистрация: 03.10.2010
Сообщений: 77
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
И такой же стандартный ответ: СМОТРЯ ДЛЯ КАКИХ ЦЕЛЕЙ.
Цели:
1) работа по сети. Не та псевдо-возможность, что даёт BDE, а по-взрослому
2) многопользовательское (одновременное) использование БД;
3) сама БД уже немаленькая - поднялся вопрос быстродействия.

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Я перевел парадох на MySQL (Более сотни таблиц и более 100 форм) за один день без какой-либо потери данных. Пришлось повозиться с логическими полями, т.е. True/False заменить на 1/0. Но это мелочи.
Программа "ESF Database Convert" тебе в помощь
Ок, пусть MySQL. В таблицах кроме Boolean остальные типы идентичны? И вообще - какое расширение файлов таблиц? (если не *.db, то *.?)
Или там будет один файл?
Дальше тупые вопросы начинающего: на код в Delphi это как-то повлияет? какие компоненты в Delphi использовать для коннекта с файлами БД?

Установил сегодня MySQL 5.1.51
Видимых изменений (значок в трее или что-нибудь ещё) не замечено
Что дальше?
По соотношению цена-качество, халявное пиво не имеет конкурентов.

Последний раз редактировалось Stilet; 14.10.2010 в 11:13.
palevg вне форума Ответить с цитированием
Старый 14.10.2010, 09:53   #4
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

Юзаем поиск !

http://programmersforum.ru/showthrea...E0%EF%F0%EE%F1
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 14.10.2010, 10:19   #5
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Для тестирования и отладки программы для начала установи Denwer (http://www.denwer.ru/). Он весит всего 6 мб и уже полностью настроен. И работает автономно, т.е. удалив его папку не останется никаких следов.
Для тестирования по локальной сети закомментируй в файле my.cnf строку
# bind-address = 127.0.0.1. Это разрешит доступ извне.
Ну, и пароль повесь, чтобы юзерам доступ перекрыть. С установкой полной MySQL потом разберешься...

Цитата:
какое расширение файлов таблиц?
Файлы *.MYD и *.MYI.

Цитата:
на код в Delphi это как-то повлияет?
В MySQL формат даты "yyyy-mm-dd". Это для сортировки.
Пришлось написать функцию
Код:
function MyFormat(aDate: TDateTime): string;
begin
Result:= FormatDateTime('yyyy-mm-dd',aDate)
end;
И во всех sql-запроса, где есть обращение к дате, типа
where data >= data заменить на
where data >= MyFormat(data)
Но это не сложно.

Цитата:
какие компоненты в Delphi использовать для коннекта с файлами БД?
Я использую MyDac. И весьма им доволен :=))

Для конвертации, как я уже писал используй ESF Database Convert.
Потом немного подправишь поля (заменишь TintInt на Int при необходимости и т.п.)
_SERGEYX_ вне форума Ответить с цитированием
Старый 15.10.2010, 10:21   #6
palevg
Пользователь
 
Аватар для palevg
 
Регистрация: 03.10.2010
Сообщений: 77
По умолчанию

Цитата:
Сообщение от Virtson Посмотреть сообщение
Спасибо
Правда, решению вопроса это не помогло - ошибка продолжает быть...
По соотношению цена-качество, халявное пиво не имеет конкурентов.
palevg вне форума Ответить с цитированием
Старый 16.10.2010, 00:24   #7
palevg
Пользователь
 
Аватар для palevg
 
Регистрация: 03.10.2010
Сообщений: 77
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Для тестирования и отладки программы для начала установи Denwer (http://www.denwer.ru/). Он весит всего 6 мб и уже полностью настроен.
Для конвертации, как я уже писал используй ESF Database Convert.
Потом немного подправишь поля (заменишь TintInt на Int при необходимости и т.п.)
Denwer - приятная штука, простая для понимания. Установил, создал БД, теперь надо бы пару таблиц.
Беру ESF Database Convert и для пробы конверчу три таблицы Paradox в только что созданную базу MySQL. Конвертер сообщает об успешной операции конвертирования.
Когда же проверяю денвером - в нашей базе таблиц нету!
Что я не так делаю?
По соотношению цена-качество, халявное пиво не имеет конкурентов.
palevg вне форума Ответить с цитированием
Старый 16.10.2010, 01:50   #8
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
Когда же проверяю денвером - в нашей базе таблиц нету!
Небыло у меня такого. Использую ESF Database Convert Professional Edition v5.9.34.
Конвертил разные базы в разные форматы, всегда все было ОК. Может в что-то не так сделал? Покопайся в настройках.
Что значит "проверяю денвером"? PHPMyAdmin-ом что ли?
Кстати, PHPMyAdmin для работы малопригоден. Скачай другой редактор БД.
Например, HeidiSQL (http://www.heidisql.com/download.php). Бесплатный.
_SERGEYX_ вне форума Ответить с цитированием
Старый 16.10.2010, 02:14   #9
palevg
Пользователь
 
Аватар для palevg
 
Регистрация: 03.10.2010
Сообщений: 77
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Небыло у меня такого. Использую ESF Database Convert Professional Edition v5.9.34.
Конвертил разные базы в разные форматы, всегда все было ОК. Может в что-то не так сделал? Покопайся в настройках.
Что значит "проверяю денвером"? PHPMyAdmin-ом что ли?
Кстати, PHPMyAdmin для работы малопригоден.
пользовал ESF Database Convert Professional Edition v5.9.36.

пробовал конвертить только одну конфигурацию: из формата Paradox 5.x (*.db) в MySQL Database. Но зато разные варианты:
1) конвертил одну таблицу;
2) конвертил сразу несколько таблиц;
3) конвертил в новую таблицу и перезаписывал имеющуюся (я одну таблицу создал с помощью phpMyAdmin).
Справедливости ради надо отметить, что таблицы-исходники у меня Paradox 7.0., а ESF предлагает 5.х - мож в этом проблема?

Ну а "проверяю денвером" - это конечно же phpMyAdmin (так проще было написать ).
Пусть пока этот phpMyAdmin и постоит: он хоть и малопригоден, как вы сказали, но мне щас более важно разобраться в конвертировании базы и переделке кода под MySQL.
По соотношению цена-качество, халявное пиво не имеет конкурентов.
palevg вне форума Ответить с цитированием
Старый 16.10.2010, 02:28   #10
palevg
Пользователь
 
Аватар для palevg
 
Регистрация: 03.10.2010
Сообщений: 77
По умолчанию

По ссылке есть и портативная версия heidisql.
Скачал, запустил - смысл примерно тот же. За короткий отрезок времени преимуществ особо не увидел, хоть они и есть наверняка
По соотношению цена-качество, халявное пиво не имеет конкурентов.
palevg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После BDE Шульц Свободное общение 4 13.10.2009 23:58
Alias в BDE Шульц БД в Delphi 5 25.06.2009 23:17
BDE Arsgun БД в Delphi 4 29.05.2007 22:24
BDE Administrator Prisian БД в Delphi 0 29.05.2007 17:49