2015-08-20 4 views
2

Я пробовал этот код из ссылки MySQL, но он падает, когда дело доходит до точки mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "libmysqld_client");. У кого-то есть рабочий пример для встроенного сервера?Как настроить встроенный сервер MySQL в Qt

#include <mysql.h> 

static char *server_options[] = {"mysql_test", "--defaults-file=my.ini", NULL}; 
int num_elements = (sizeof(server_options)/sizeof(char *)) - 1; 
static char *server_groups[] = {"libmysqld_server", "libmysqld_client", NULL}; 

int main(int argc, char *argv[]) 
{ 
    QSqlDatabase mydb; 
    MYSQL *mysql; 

    mysql_library_init(num_elements, server_options, server_groups); 
    mysql = mysql_init(NULL); 
    mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "libmysqld_client"); 
    mysql_options(mysql, MYSQL_OPT_USE_EMBEDDED_CONNECTION, NULL); 

    mysql_real_connect(mysql, NULL, NULL, NULL, "database1", 0, NULL, 0); 

    mydb = QSqlDatabase::addDatabase("QMYSQL", "con1"); 

    mydb.setDatabaseName("database1"); 

    if(!mydb.open()) 
    { 
     qDebug() << mydb.lastError(); 
    } 

    mysql_library_end(); 
    return 0; 
} 

ответ

1

Используйте эту строку кода до mysql_real_connect().

mysql_init(mysql); 
mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP,"your program name"); 
Смежные вопросы