Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > MySQL5.1 в FoxPro(DOS)


Автор: rz3rr 11.9.2006, 15:07
Возникла такая задача: необходимо из базы данных MySQL5.1 перегнать данные в FoxPro'шную базу данных в DOS'овском варианте. С чего посоветуеете начать? В Дельфи FoxPro'шные таблицы просматриваются с крякозябрами (DOS-формат). Если перегонять из MySQL "напрямую" в FoxPro - фокспрошная прога будет не корректно отображать данные. Как реализовать нориальный "перегон" в Дельфи?

Автор: comtat 11.9.2006, 15:38
Цитата(rz3rr @  11.9.2006,  15:07 Найти цитируемый пост)
таблицы просматриваются с крякозябрам

Ну вот для начала при перегоне кодировку нужно установить такую, чтоб "крякозябрями" не были

Цитата(rz3rr @  11.9.2006,  15:07 Найти цитируемый пост)
С чего посоветуеете начать?

Я бы попробовал перелить с помощью Dump'а

Автор: SergeBS 11.9.2006, 16:34
rz3rr, 
Для начала - посмотреть структуры. 5-10 триггеров/ХП и т.п. вполне хватит, чтобы на Фоксе задачка на 3-4 недели растянулась, даже если остальное утащится без проблем (в чем я оччень сильно сомневаюсь).
Для продолжения - подумать, кому это нужно - с сервера соскакивать на dbf- таблицы. Что-то несуразное. Обычно задача - наоборот.
Для завершения: 
Цитата

Обязательно указание:
1. Базы данных (Paradox, Oracle и т.п.)
2. Способа доступа (ADO, BDE и т.д.)

Таблицы Лиса чем смотришь? И что значит "напрямую"? 

Автор: rz3rr 12.9.2006, 07:53
Лиса смотрю в DBD. Правда, не могу назначит альяс, DBD пишет Capability not supported.
Задача стоит во временной совместимости FoxPro и MySQL. Пока программа на MySQL+PHP полностью не готова, заполнение проводится и в фокспрошной проге и в MySQL'ской. Нужно обеспечить пересылку данных и как в FoxPro из MySQL, и в обратном направлении. Создавать новые таблицы нет необходимости - только использовать данные.
1.Базы данных (уже упоминал) на FoxPro (вроде)2.6 DOS и MySQL5.1
2.Способ доступа к FoxPro через BDE, к MySQL через dbExpress.

"Напрямую" - я имел ввиду без преобразования в промежуточные форматы (txt, mdb, ...)

Автор: comtat 12.9.2006, 08:18
Цитата(rz3rr @  12.9.2006,  07:53 Найти цитируемый пост)
и как в FoxPro из MySQL, и в обратном направлении

может тогды репликация нужна
и странно все как-то, туда - обратно  smile 

Автор: rz3rr 12.9.2006, 08:29
Для фокса нашел компонентик Dbf. С этим проблем уже нет.
Сейчас буду мучить MySQL. Посоветовали использовать Zeos.

Автор: rz3rr 12.9.2006, 09:07
Чё-то никак не въеду - ZEOS под MySQL 4.1 максимум. А как 5.1 подключить? libmysql.dll от 5.1 в system32 кинул, но при коннекте требует ещё библиотеку ntwdblib.dll

Автор: rz3rr 12.9.2006, 09:43
Нашел библиотеку. Коннектится все-равно не хочет...

Автор: comtat 12.9.2006, 10:27
поюзай базу MySQL с помощью EMS Manager'а, он позволяет конвертировать базу в dbf

Автор: Fedia 12.9.2006, 12:07
Цитата(rz3rr @  12.9.2006,  09:07 Найти цитируемый пост)
Чё-то никак не въеду - ZEOS под MySQL 4.1 максимум. А как 5.1 подключить? libmysql.dll от 5.1 в system32 кинул, но при коннекте требует ещё библиотеку ntwdblib.dll

Нет, библиотека libmysql.dll нужна не из поставки MySQL 5.1, а та, что поставляется вместе с самими компонентами Zeos. С пятой версией зеосы тоже должны работать (у меня работают).

Цитата(rz3rr @  12.9.2006,  09:43 Найти цитируемый пост)
Нашел библиотеку. Коннектится все-равно не хочет...

Какую ошибку выдает ? Какая версия зеосов ?

Автор: SergeBS 12.9.2006, 13:54
rz3rr, 
Когда я с FoxPro сваливал базу на MySql я вроде Erwin 4 это делал. А с MySql по-простецки через ADO орудовал.

Автор: rz3rr 12.9.2006, 14:43
Всё. Приконектился. Единственная беда - вместо русских букв выдает знаки вопроса. Базу данных MySQL перетащил на localhost, импортировал через Core Lab MySQL Developer Studio, всё ОК. Пробовал через  PhpMyAdmin, при импорте в только что созданную новую базу выдает ошибку "You didn't entert data to import!". Где нужно что-нить поменять, чтоб отображались русские буквы?
Да, приконнектился через Zeos.

Автор: SergeBS 12.9.2006, 14:57
rz3rr, 
Поиск рулит! 100 раз было. См. тему сервера.

Автор: rz3rr 12.9.2006, 15:01
Помню, что где-то читал, но повторно не могу найти. По поиску выдает много топиков, буду благодарен за ссылку :-)

Добавлено @ 15:06 
Нашел, но мне не подходит. Сервак я не могу перевести с UTF8 на cp1251, правов нету. 

Автор: Fedia 13.9.2006, 01:50
Цитата(rz3rr @  12.9.2006,  15:01 Найти цитируемый пост)
Нашел, но мне не подходит. Сервак я не могу перевести с UTF8 на cp1251, правов нету. 

Тогда обращайся к администратору сервера и смотри http://www.mysql.ru/faq/.
Цитата

Q. Как обеспечить корректную работу MySQL с русскими символами при сортировке и выборке данных?
В /etc/my.cnf вписать в блоке [mysqld]: default-character-set=koi8_ru (или cp1251)

При работе с базой можно выставить рабочую кодировку через: SET CHARACTER SET koi8_ru

Автор: rz3rr 13.9.2006, 14:56
My.cnf у меня на компе нет. А где выставляется рабочая кодировка SET CHARACTER SET koi8_ru?

Автор: rz3rr 13.9.2006, 15:11
Изменил в my.ini . Результата никакого. После изменения службу MySQL перезапускал.

Автор: SergeBS 13.9.2006, 15:45
rz3rr, 
Совсем самому искать лень?
http://forum.vingrad.ru/index.php?showtopic=70980
http://forum.vingrad.ru/index.php?showtopic=111435
возможные подсказки.
И на Базы данных - MySQL - 3 рыбное место.

Автор: rz3rr 13.9.2006, 15:55
На Zeos'е charset не устанавливается. Что-то я совсем затупил. И на MySQL.ru был. Ничего не выходит. Попробую dbExpress подключить...

Автор: Fedia 14.9.2006, 00:05
Цитата(rz3rr @  13.9.2006,  15:55 Найти цитируемый пост)
На Zeos'е charset не устанавливается. Что-то я совсем затупил. И на MySQL.ru был. Ничего не выходит. Попробую dbExpress подключить...

Зеос тут не при чем совсем.
Нужно выполнить запрос: SET CHARACTER SET koi8_ru. Через какой компонент ты его выполнишь принципиального значения не имеет. Скорее всего понадобятся соответствующие привилегии для его выполнения.  Вообще советую скачать программу MySql-Front версии 2.5. Редактировать, настраивать БД, выполнять запросы в этой программе очень удобно.

Автор: SergeBS 14.9.2006, 09:00
Fedia, 
Цитата

Вообще советую скачать программу MySql-Front версии 2.5.

Где это водится? С MyPHPAdmin сравнивал? Чем удобнее?

Автор: Fedia 14.9.2006, 10:22
Цитата(SergeBS @  14.9.2006,  09:00 Найти цитируемый пост)
Где это водится? С MyPHPAdmin сравнивал? Чем удобнее?

Например http://heman.lbc.ru/soft/server/mysql-front-2.5/. Но правда по этой ссылке доступна версия 3.2, которая на мой взгляд менее удобна, чем http://slil.ru/23120315. 
Цитата

Описание:
Самая мощная из FREE доступных, система управления базами данных MySQL. Не использует ODBC. Умеет все: создавать, удалять, импортировать, экспортировать, базы, таблицы, аккаунты. Умеет создавать SQL-запросы, выполнять, сохранять и т.д. Короче все. И все это FREE !

С MyPHPAdmin не сравнивал. Как то изначально подсел на mysql-front, который, отвечал всем моим потребностям в работе с MySql.

Автор: rz3rr 14.9.2006, 18:44
Всё, заработало. Не правильно импортировал базу....

Автор: SergeBS 15.9.2006, 13:10
rz3rr, 
Галочку поставь, что дело решено.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)