Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Mysql встроенный сервер

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Mysql встроенный сервер
Имя
Сообщение << Старые топики   Новые топики >>
Mysql встроенный сервер - 2006-02-25 15:53:27   
hell_admin

Сообщений: 59
Оценки: 0
Присоединился: 2004-09-28 23:26:38
Не как не могу разабратся, в библиотеках для работы с MySQL, скачал версию 4.1.13 покапался в документации, под VC++ скомпилировал даже клиентский проект с libmysql.lib.

Но мне надо использовать встроенный сервер. В документации это libmysqld. Но в полной инсталяции я не нашел в директории MySQL ничего что мне нужно там есть:

1.
Mysql\lib\libmysql.lib
Mysql\lib\libmysql.dll
Mysql\lib\mysqlclient.lib

2.
Mysql\embedded\DLL\libmysqld.dll
Mysql\embedded\DLL\libmysqld.lib
Mysql\embedded\DLL\libmysqld.exp

3.
Myqsl\embedded\static\mysqlserver.lib

Я так понял что 1. это просто клиентская библиотека.

2 - это динамическая библиотека встроенного сервера, которую нужно грузить с ImportLibrary, но тогда зачем там .lib и .exp файлы?

3. Это статическая библиотека встроенного сервера,
в доке по MySQL как раз говорится что лучше юзать статические библиотеки с с++ builder.

Подключаю 3 библиотеку, при линковке выдает
invalid OMF…

<BR>MYSQLSERVER.LIB'' contains invalid OMF record, type 0x21 (possibly COFF)<BR>

хорошо нашел что нужно сначала преобразовать, использую тулзу coof2omf которая идет с борландом

<BR>coof2omf mysqlserver.lib mysqld.lib<BR>

получаю файл размером 12!!! килобайт, хотя исходный файл 10метров? Думаю вряд ли это она..

пробую вариант 2 добавляю к проекту libmysqld.lib, там та же тема с OMF опять с помощью той же утилиты преобразую .lib файл добавляю его к проекту.. все компилится.

Нафиг нужен .exp файл?

Как только пытаюсь вызвать какуюнить функцию, то при запуске програмы выбрасывает в отладчик причем в ассемблер.

Ставлю брейк перед первой вызываемой функцией. До него даже не доходит. Т.е. при самом запуске вылетает.

Ничерта не пойму что нужно подключать, и как.

вот исходник:

<BR><BR> static char *server_args[] = {<BR> &quot;this_program&quot;, /* this string is not used */<BR> &quot;--datadir=./data&quot;,<BR> &quot;--key_buffer_size=32M&quot;<BR> };<BR><BR> static char *server_groups[] = {<BR> &quot;embedded&quot;,<BR> &quot;server&quot;,<BR> &quot;this_program_SERVER&quot;,<BR> (char *)NULL<BR> };<BR><BR>void somefunct()<BR>{<BR>MYSQL * mysql;<BR>MYSQL_RES * result;<BR>MYSQL_ROW row;<BR><BR>if (mysql_server_init(sizeof(server_args)/sizeof(char *),server_args, server_groups))<BR> ShowMessage(&quot;Error on init&quot;);<BR><BR>if(mysql = mysql_init(NULL))<BR> ShowMessage(&quot;Can''t init &quot;);<BR> mysql_server_end();<BR>}<BR>

Зарание спасибо, очень надо просто.
Post #: 1
Mysql встроенный сервер - 2006-02-25 15:59:00   
Python

Сообщений: 4964
Оценки: 0
Присоединился: 2005-12-14 08:32:13
Я читать не умею, но вроде тЫ Hell_admin тут ково-то кинуть хочешь
Post #: 2
Mysql встроенный сервер - 2006-02-25 16:03:57   
hell_admin

Сообщений: 59
Оценки: 0
Присоединился: 2004-09-28 23:26:38
Не совсем понял, кого кинуть? я спрашиваю у людей которые это уже делали какую использовать библиотеку и как ее подключить. Даже кода ни кусочка не прошу.
Post #: 3
Mysql встроенный сервер - 2006-02-26 21:16:50   
Pupkin-Zade

Сообщений: 9398
Оценки: 1489
Присоединился: 2004-03-10 13:54:16
Совершенно очевидно, что это не ВСТРОЕННЫЙ, а ВСТРАИВАЕМЫЙ, что совсем разные вещи. Могу предположить, что он для иных платформ, нежели windоws.
Post #: 4
Mysql встроенный сервер - 2006-02-27 10:15:08   
hell_admin

Сообщений: 59
Оценки: 0
Присоединился: 2004-09-28 23:26:38
Да не, те все библиотеки шли вместе с сервером.. сервер работает под винду нормально. И в VC++ нормально линкуется, а в С++ Builder нет.
Post #: 5
Mysql встроенный сервер - 2006-03-16 14:21:24   
megazlobster

Сообщений: 7
Оценки: 0
Присоединился: 2006-02-02 13:11:48
Попробуй использовать Mysql\embedded\DLL\libmysqld.dll в месте с MyDAC для BCB6.0, там спец компонент для embedded conection'а. В папке с твоей прогой должны лежать 2 папки:

1.data-там будет лежать база
2.share-скопируй из папки установки MySQL

При отладке запускай прогу не через BCB и не забывай делать disconect от базы, иначе будеть часть делать reboot :)
Post #: 6
Mysql встроенный сервер - 2006-03-16 15:56:19   
hell_admin

Сообщений: 59
Оценки: 0
Присоединился: 2004-09-28 23:26:38
Всем пасиба я сам уже COM компонент написал, с libmysqld.dll на VC++. Если кому надо могу дать сырцы, как отлажу и допишу. Тока вот вопрос тож требует share директорию, нет ли каких нить ключей для mysql чтоб не требовал ее, в доке чет не нашел?
А вообще там в доке много непонятного, пришлось частично методом тыка.
Post #: 7
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Mysql встроенный сервер







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.