| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Базы данных > [C(Linux)]Работа с MySQL без mysql.h |
| Автор: Avariya 12.12.2011, 22:50 |
| Здравствуйте! Получил задание написать простенькую програму на языке C. Програма должна связаться с БД MySQL отправить пару запросов и получить на них ответы. Вся загвоздка в том, что использовать библиотеки на подобие mysql.h запрещено. Может кто-то встречал литературу на эту тему, ну или примеры работы, помогите ссылкой, пожалуйста. P.S. Подразумевается работа с сокетами. |
| Автор: Alca 13.12.2011, 01:13 | ||
а что можно ипользовать? Добавлено через 1 минуту и 25 секунд |
| Автор: Avariya 13.12.2011, 02:48 |
| Ну как сказать, библиотеку сокетов, иостримы всякие, библиотеки ерроров, инпуты\аутпуты. Нельзя использовать клиентские библиотеки БД. Тоесть те библиотеки в которых прописаны функции подключения к БД, передача запросов етс. |
| Автор: newbee 13.12.2011, 08:24 |
| Все очень просто, гуглится по mysql protocol => http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol Есть второй вариант более хакерский, но, когдна детальное понимание ситуации не требуется, простой: берем снифер wireshark, устанавливаем фильтр ip.dst на ip-адрес mysql-сервера, соединяемся с ним и внимательно втыкаем в то, что он рисует: можно наглядно раскрыть весь стек протоколов от Ethernet-уровня вплоть до MySQL в твоем случае, там ты увидишь, что клиент с сервером устанавливают TCP соединение, увидишь детали mysql login request, mysql query request и всего остального. А на Алочку не обращай внимания, он как обычно просто поумничать зашел. |
| Автор: Avariya 13.12.2011, 22:50 |
| А можно ли совет, или где прочитать как исполнить все эти команды, что даны в статье. А-то что-то я дуб-дерево... Ну и опять таки, как подключиться к локальному северу(не нашел в статье). |
| Автор: Alca 13.12.2011, 22:52 |
| Avariya, сейчас тебе newbee все напишет, с примером |
| Автор: Avariya 13.12.2011, 23:05 |
| Alca, сейчас он не напишет так как он перекочевал в оффлайн. Но мое состояние сейчас именно как на смайлике. И даже бесконечный цикл совпадает. Так как хз по чему искать, как использовать, где читать и тд. Больше не офтоплю. |
| Автор: newbee 13.12.2011, 23:11 |
| Avariya, В статье даны не "команды", а последовательности кодов, которые нужно слать через установленное TCP-соединение. Мой совет: попрактикуйся с сокетами на чем-нибудь простом: эхо сервер и т.д., а потом переходи к MySQL. |
| Автор: Alexoid 6.4.2012, 12:04 |
| стандартный подход для VC++: msado15.dll и http://www.connectionstrings.com/mysql и #import "C:\Program Files\Common Files\System\ADO\msado15.dll" \ no_namespace rename("EOF", "EndOfFile") Возможно понадобиться клиентский драйвер на сайте MySQL |