Для работы необходимы библиотеки libmysqld.lib и libmysqld.dll
Это минимальный вариант встроенного сервера. Взят с офф сайта.
psycho-coder
(http://programmersforum.ru/showthread.php?t=59147&page=5)
Это минимальный вариант встроенного сервера. Взят с офф сайта.
Код:
#include "stdio.h"
#include "stdlib.h"
#include "stdarg.h"
#include "my_global.h"
#include "mysql.h"
#pragma comment(lib, "libmysqld.lib")
MYSQL *mysql;
MYSQL_RES *results;
MYSQL_ROW record;
static char *server_options[] = { "mysql_test",
//"--defaults-file=.\\my.ini",
"--basedir=.\\",
"--datadir=.\\bases",
"--default-character-set=latin1",
NULL };
int num_elements = (sizeof(server_options) / sizeof(char *)) - 1;
static char *server_groups[] = { "test_MySQL_Embedded", "embedded", "server", NULL };
int main(void)
{
int emb = 0;
int affected = 0;
printf("MySQL Embedded initializing . . .");
emb = mysql_server_init(num_elements, server_options, (char **)server_groups);
if (emb > 0)
{
printf("\nCan't init server\nPress any key to exit . . .");
//system("pause");
return 1;
}
mysql = mysql_init(NULL);
mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "client");
mysql_options(mysql, MYSQL_OPT_USE_EMBEDDED_CONNECTION, NULL);
//printf("\nconnecting . . .\n");
if (!mysql_real_connect(mysql, NULL, NULL, NULL, "const", 0, NULL, 0))
printf("%s\n", mysql_error(mysql));
//printf("query\n");
if (mysql_query(mysql, "SELECT * FROM try") != 0)
{
printf("\n%s\n", mysql_error(mysql));
//system("pause");
return 1;
}
affected = (int)mysql_affected_rows(mysql);
if (affected < 0)
{
printf("\nField count: %d\n", mysql_field_count(mysql));
results = mysql_store_result(mysql);
//printf("output data\n");
while((record = mysql_fetch_row(results)))
{
printf("%s - %s \n", record[0], record[1]);
}
}
else
{
printf("\nAffected rows: %d\n", affected);
}
printf("MySQL Embedded stoping . . .");
mysql_free_result(results);
mysql_close(mysql);
mysql_server_end();
//system("pause");
return 0;
}
//---------------------------------------------------------------------------
(http://programmersforum.ru/showthread.php?t=59147&page=5)