Мне нужно сделать такую штуку:
На локальной машине запускается софтярина, в ней добавляются/редактируются/удаляются некие люди и их параметры (кадровое агентство) далее подкл. к инету (своими силами ) жмут на кнопочку и сравнивают локальную БД с удаленной, причём удаленная ч/з ВЭБ интрефейс тоже может быть изменена (там будет PHP движок), вооот... значит сравнивают эти БД находит отличия и (как то мне умное слово говорили, забыл) делает их одинаковыми. Т.е. внесенные в ту БД отличия вносятся в эту, а из этой в ту...
На данный момент локальная прога (отстойная правда) реализована на VFP с его БД, но я готов её переписать (как я понимаю БД легко переконвертить)...
Вот такая задачка... Внимание вопрос: "Как это сделать?"
Т.е. на чём писать локального клиента? как взаимодействовать с удаленной БД? как локально хранить данные?
Мне препод начал объяснять как это сделать в VFP (на данный момент я знаю как это реализовать ч/з ODBC, но он сказал, что это не лучший вариант, а дальше очень невнятно начал гнать что то типа, подкл. ActiveX компонент IE и "эмитировать" работу пользователя... и. чёто ещё... но это же бред! Есть же MySQL порт, ч/з который как я понимаю работает ODBC и стоит это делать)...
Здравствуйте, hexes, Вы писали:
H>(Извините если ошибся темой...)
H>Локальный клиент и удаленный MySQL сервер
H>На локальной машине запускается софтярина, в ней добавляются/редактируются/удаляются некие люди и их параметры (кадровое агентство) далее подкл. к инету (своими силами ) жмут на кнопочку и сравнивают локальную БД с удаленной, причём удаленная ч/з ВЭБ интрефейс тоже может быть изменена (там будет PHP движок), вооот... значит сравнивают эти БД находит отличия и (как то мне умное слово говорили, забыл)
синхронизируют? H>делает их одинаковыми. Т.е. внесенные в ту БД отличия вносятся в эту, а из этой в ту...
Это можно реализовать с помощью sql дампа, т.е. генерации sql команд, создающих эти базы. H>На данный момент локальная прога (отстойная правда) реализована на VFP с его БД, но я готов её переписать (как я понимаю БД легко переконвертить)... H>Вот такая задачка... Внимание вопрос: "Как это сделать?" H>Т.е. на чём писать локального клиента?
Это в принципе не важно, лишь бы была возможность работать с сокетами. H>как взаимодействовать с удаленной БД?
Через сокеты (опять же ИМХО). H>как локально хранить данные?
Вот тут не понятно: изначально есть какая-то база на локальном компе? Если нет, то проще в начале работы взять базу с удаленного MySql сервера. H>Мне препод начал объяснять как это сделать в VFP (на данный момент я знаю как это реализовать ч/з ODBC, но он сказал, что это не лучший вариант, а дальше очень невнятно начал гнать что то типа, подкл. ActiveX компонент IE и "эмитировать" работу пользователя... и. чёто ещё... но это же бред! Есть же MySQL порт, ч/з который как я понимаю работает ODBC и стоит это делать)...
Тут со всем согласен. Писать через ActiveX компонент IE — пижонство .
Re[2]: Локальный клиент и удаленный MySQL сервер
От:
Аноним
Дата:
02.01.04 12:35
Оценка:
Здравствуйте, Flea, Вы писали:
F>Здравствуйте, hexes, Вы писали:
H>>(Извините если ошибся темой...)
H>>Локальный клиент и удаленный MySQL сервер
H>>На локальной машине запускается софтярина, в ней добавляются/редактируются/удаляются некие люди и их параметры (кадровое агентство) далее подкл. к инету (своими силами ) жмут на кнопочку и сравнивают локальную БД с удаленной, причём удаленная ч/з ВЭБ интрефейс тоже может быть изменена (там будет PHP движок), вооот... значит сравнивают эти БД находит отличия и (как то мне умное слово говорили, забыл) F>синхронизируют?
Нее он чё то умнее говорил... (увижу спрошу) H>>делает их одинаковыми. Т.е. внесенные в ту БД отличия вносятся в эту, а из этой в ту... F>Это можно реализовать с помощью sql дампа, т.е. генерации sql команд, создающих эти базы.
А подробнее можно? Т.е. если в обе БД внесены изменения то что куда и как? H>>На данный момент локальная прога (отстойная правда) реализована на VFP с его БД, но я готов её переписать (как я понимаю БД легко переконвертить)... H>>Вот такая задачка... Внимание вопрос: "Как это сделать?" H>>Т.е. на чём писать локального клиента? F>Это в принципе не важно, лишь бы была возможность работать с сокетами. Ну важно не важно др. вопрос... На чём посоветуете? Препод старается втюхать мне RapidQ, но из малого с ним знакомства понял, что мне он савсем не нравится... Как альтернатива предложет С ... H>>как взаимодействовать с удаленной БД? F>Через сокеты (опять же ИМХО). H>>как локально хранить данные? F>Вот тут не понятно: изначально есть какая-то база на локальном компе? Если нет, то проще в начале работы взять базу с удаленного MySql сервера.
Ну я думал и на локальном компе поставить MySQL ... H>>Мне препод начал объяснять как это сделать в VFP (на данный момент я знаю как это реализовать ч/з ODBC, но он сказал, что это не лучший вариант, а дальше очень невнятно начал гнать что то типа, подкл. ActiveX компонент IE и "эмитировать" работу пользователя... и. чёто ещё... но это же бред! Есть же MySQL порт, ч/з который как я понимаю работает ODBC и стоит это делать)... F>Тут со всем согласен. Писать через ActiveX компонент IE — пижонство .
Да не то что пежонство помоему это просто глупо! Не буду же я в движке реализовывать все функции...
F>>синхронизируют? А>Нее он чё то умнее говорил... (увижу спрошу)
репликация?
F>>Тут со всем согласен. Писать через ActiveX компонент IE — пижонство . А>Да не то что пежонство помоему это просто глупо! Не буду же я в движке реализовывать все функции...
если нет другого доступа кроме как через http, то доступ к базе через IE-бот (хотя можно и напрямую через сокеты или urllib какой-нибудь) самое простое, хотя и самое медленное извращение.....
Здравствуйте, Аноним, Вы писали:
А>А подробнее можно? Т.е. если в обе БД внесены изменения то что куда и как?
Тут проще всего посмотри get_table_content функцию в файле lib.inc.php в phpMyAdmin, она делает как раз то, что тебе нужно (если ты не пользуешься phpMyAdmin, напиши, я пришлю код). F>>Это в принципе не важно, лишь бы была возможность работать с сокетами. А> Ну важно не важно др. вопрос... На чём посоветуете? Препод старается втюхать мне RapidQ, но из малого с ним знакомства понял, что мне он савсем не нравится... Как альтернатива предложет С ...
Так и пиши на С, тут вопрос только в том, какую библиотеку ты сможешь использовать для работы с сокетами.
... А>Ну я думал и на локальном компе поставить MySQL ...
Если будет mysql и на сервере и на клиенте, то, пользуясь алгоритмом, подомным функции get_table_content ты сможешь получать sql для генерации базы с сервера и клиента, потом останется только сравнивать его, вносить изменения так, чтобы базы были одинаковые, сбрасывать базы на клиенте и на сервере и генерировать их снова с помощью полученного sql.
Здравствуйте, Flea, Вы писали:
F>Здравствуйте, Аноним, Вы писали:
А>>А подробнее можно? Т.е. если в обе БД внесены изменения то что куда и как? F>Тут проще всего посмотри get_table_content функцию в файле lib.inc.php в phpMyAdmin, она делает как раз то, что тебе нужно (если ты не пользуешься phpMyAdmin, напиши, я пришлю код).
Не не юзаю... (буду благодарен, нужно/можно мыло писать? а то не во всех форумаэ это можно) F>>>Это в принципе не важно, лишь бы была возможность работать с сокетами. А>> Ну важно не важно др. вопрос... На чём посоветуете? Препод старается втюхать мне RapidQ, но из малого с ним знакомства понял, что мне он савсем не нравится... Как альтернатива предложет С ... F>Так и пиши на С, тут вопрос только в том, какую библиотеку ты сможешь использовать для работы с сокетами. F>...
Я его абсолютно не знаю (хотя кодить умею, PHP, VFP), посоветуйте что почитать, что посмотреть, с чего начать? А>>Ну я думал и на локальном компе поставить MySQL ... F>Если будет mysql и на сервере и на клиенте, то, пользуясь алгоритмом, подомным функции get_table_content ты сможешь получать sql для генерации базы с сервера и клиента, потом останется только сравнивать его, вносить изменения так, чтобы базы были одинаковые, сбрасывать базы на клиенте и на сервере и генерировать их снова с помощью полученного sql.
И вообще, посоветуйте как мне к этому подойти? Ничего подобного я не делал, какие тут есть подводные камни? На что обратить внимание? С чего начать? И если это С то что купить/скачать, что бы начать кодить?
Здравствуйте, hexes, Вы писали:
H>Я его абсолютно не знаю (хотя кодить умею, PHP, VFP), посоветуйте что почитать, что посмотреть, с чего начать?
Тогда и пиши на php. Там же все есть для работы с mySQL.
Можно документацию посмотреть по MySql, там описано по крайней мере у меня, как его использовать из C/C++ и php. H>И вообще, посоветуйте как мне к этому подойти? Ничего подобного я не делал, какие тут есть подводные камни? На что обратить внимание? С чего начать? И если это С то что купить/скачать, что бы начать кодить?
В принципе можно брать любой учебник для начинающих по C/C++, ну желательно, чтобы там еще работа с сокетами была описана (это если на php нельзя).
Конкретное что-то посоветовать затрудняюсь. Ты поищи в форумах, там наверняка возникал такой вопрос, с чего начать изучение и т.д.
H>>Я его абсолютно не знаю (хотя кодить умею, PHP, VFP), посоветуйте что почитать, что посмотреть, с чего начать? F>Тогда и пиши на php. Там же все есть для работы с mySQL. F>Можно документацию посмотреть по MySql, там описано по крайней мере у меня, как его использовать из C/C++ и php.
Неее с PHP у меня проблем нет, я про локального клиента спрашиваю... H>>И вообще, посоветуйте как мне к этому подойти? Ничего подобного я не делал, какие тут есть подводные камни? На что обратить внимание? С чего начать? И если это С то что купить/скачать, что бы начать кодить? F>В принципе можно брать любой учебник для начинающих по C/C++, ну желательно, чтобы там еще работа с сокетами была описана (это если на php нельзя). F>Конкретное что-то посоветовать затрудняюсь. Ты поищи в форумах, там наверняка возникал такой вопрос, с чего начать изучение и т.д.
Ну так вот я в форуме и спрашиваю
Здравствуйте, hexes, Вы писали:
H>>>Я его абсолютно не знаю (хотя кодить умею, PHP, VFP), посоветуйте что почитать, что посмотреть, с чего начать? F>>Тогда и пиши на php. Там же все есть для работы с mySQL. F>>Можно документацию посмотреть по MySql, там описано по крайней мере у меня, как его использовать из C/C++ и php. H>Неее с PHP у меня проблем нет, я про локального клиента спрашиваю...
См. доку по mySQl, там есть про то, как его использовать из С/С++.