| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Delphi+MySql+host |
| Автор: Frikazoid 18.11.2002, 08:05 |
| Привет всем! У меня такая проблема! Есть у меня на хосте база mysql. Как мне от туда инфу забрать? Прочесть или записать? Работать с MySql на PHP у меня не составляет труда, а вот с Delphi возникли траблы. |
| Автор: AntonSaburov 18.11.2002, 22:03 |
| Поставить ODBC для MySQL - вообщем-то и нормально будет. |
| Автор: Frikazoid 19.11.2002, 07:18 | ||
С там же успехом можно было сказать: "Подучи Delphi и всё будет путём" |
| Автор: Vit 19.11.2002, 08:03 |
| Я так понял что надо: 1) найти ODBC драйвер для MySQL (наверное где-то у них на сайте) 2) установить его на твою винду 3) Создать DSN на твою базу данных или обратиться через BDE через ODBC драйвер к MySQL Если ты работал с базами данных на Дельфи то тебе должно быть ясно как работать с BDE драйвером, как создать Alias, а если нет, то вначале действительно надо подучить работу с базами данных в Дельфи - тут в 2х словах не объяснишь. Попробуй выполнить эти пункты и спрашивай, если что не получается. PS. Если по какой-либо причине нет желания работать с ODBC драйвером через BDE, то можешь взять у меня с сайта пакет компонентов для работы с ODBC: http://delphi.nevzorov.net |
| Автор: Frikazoid 20.11.2002, 02:18 |
| Да! Чуть не забыл! Прога должна работать на любом компе без установки дополнительных драйверов! |
| Автор: AntonSaburov 20.11.2002, 02:26 | ||
На любом компутере это работать не может. И не будет. А Delphi действительно хорошо бы учить. Вообще, что-то учить всегда хорошо. |
| Автор: Vit 20.11.2002, 02:46 | ||
А как по другому можно подсоединится к серверу баз данных? Извини, но эта штука, та которая общается с базой данных называется драйвером, твоя задача не разрешима теоретически вследствии внутреннего логического противоречия в постановке задачи. Можно конечно извратится и написать свой драйвер и включить его внутрь своего exe - тогда дерзайте, изучайте MySQL API (если его производители документировали их). Скажу сразу что для написания такой штуки для такого широко заезженного и известного формата как DBase или Paradox у меня лично ушло бы не менее 6 месяцев работы при ежедневной затрате не менее 10 часов времени... (Хотя не могу сказать точно про MySQL - может они предоставляют достаточно высокоуровневые API для возможности гораздо более быстрой разработки). В целом поставленная тобой задача очень смахивает на задачу типа "хочу написать программу которая бы работала без операционной системы..." |
| Автор: Medved 20.11.2002, 03:35 |
| кесареву - Кесарю, а божье - Богу. Не стоит пытаться на дельфи делать то, что можно сделать при помощи других инструментов гораздо быстрее и проще. Ну а если тебе нужен ехе-шник, то напиши его, чтобы он вызывал выполнение скриптов PHP (хотя это извращение). |
| Автор: AntonSaburov 20.11.2002, 03:40 |
| Ну вообще-то у MySQL, насколько я помню, есть какая-то библиотека для связи с С++ - у меня коллега как-то развлекался, какую-то утилитку под Unix ваял. Но каков вопрос, таков и ответ. Можно в принципе через HTTP получить данные, распарсить их и использовать. |
| Автор: Vit 20.11.2002, 03:53 | ||
Собственно вопрос наверное скорее не в этом, а в том что автор топика скорее всего не подоздевает, что Дельфийские компоненты типа TQuery или TTable вообще ничего с базой данных не делают - это только классы, предоставляющие удобный интерфейс для API подключённого драйвера. И если в TQuery написано 'Select * From MyTable', то это вовсе не означает что компонент TQuery берёт и выполняет этот запрос, непосредственно общаясь с базой данных, на самом деле TQuery инициализирует драйвер, передаёт ему запрос, полученный ответ предоставляет в форме удобной для работы из приложения. Таким образом выходов 3: 1) Использовать драйвер - самый простой, самый удобный способ, череватый наименьшим количеством ошибок. Установка + настройка драйвера + реализация доступа к базе - займёт несколько минут... Всё это можно автоматизировать внутри кода. 2) Использовать API MySQL (если такие имеются) - гораздо сложнее, скорее всего прийдётся либо забыть о всех стандартных компонентах Дельфи для работы с базами данных или потратить немалое время для написания дополнительного программного "Layer" - для состыковки с этими компонентами. Я работал немного с BDE и DAO API и могу заверить что эта работа требует довольно глубоких знаний и является довольно трудоёмким процессом 3) Писать свой драйвер - я уже говорил о трудоёмкости этого метода. |
| Автор: Medved 20.11.2002, 04:03 | ||
Наверняка на просторах сети есть компоненты прямого доступа к базам MySQL. Я в этом практически уверен.... просто надо поискать...... |
| Автор: MadGhost 20.11.2002, 16:23 |
| Я так думаю библиотека ZeosDbo тебя спасет, устанавливаешь компоненты, кидаешь на форму и все работаешь как с обычными Table Query для того чтобы не справшивала программа всяких драйверов , нужно просто вместе с программой записывать файлик libmysql.dll и все пучком, никаких ODBC не нужно, по моему мне кто то грил что это вчерашний день.э |
| Автор: Vit 20.11.2002, 17:17 | ||||
Как видишь и здесь без драйверов не обошлось
Вчерашний конечно, но ADO драйверов я что-то не встречал для MySQL и вообще не слышал о их существовании... |
| Автор: Frikazoid 20.11.2002, 23:40 | ||||
Да нет! Эта задача вполне решаема и за меньшие сроки! Просто компоненты надо подискать! Я уже приметил однубиблиотеку на сях! |
| Автор: Frikazoid 20.11.2002, 23:41 | ||
Я об этом думал, но понял, что будет сильно тормозить! |
| Автор: Frikazoid 20.11.2002, 23:42 | ||
Если бы кто-то мне сказал как по Http работать с MySql, то я был бы благодарен! |
| Автор: Frikazoid 20.11.2002, 23:44 | ||||
Не будь так уверен, что я думаю о том или о сём! |
| Автор: Frikazoid 20.11.2002, 23:45 | ||||
Грузи filesearch.ru и пиши запрос типа *sql*.zip и тебе выдаст кучу файлов! Я там нашол кое-чо! |
| Автор: Fantasist 21.11.2002, 09:46 |
| dbExpress поддерживает MySQL. |
| Автор: Frikazoid 22.11.2002, 03:45 | ||
Спасибо! Я уже нашёл, что искал! Это ZeosDbo! Отличный компонент! |