Я подключаюсь к базе данных mysql, используя сервер встраивания (связывание с mysqld) в c ++.У меня есть следующий код:
static char *server_options[] = \
{ (char *)"mysql_test",
(char *)"--datadir=/home/cquiros/temp/mysql/db2",
(char *)"--default-storage-engine=MyISAM",
(char *)"--loose-innodb=0",
(char *)"--local-infile=1",
(char *)"--skip-grant-tables=1",
(char *)"--myisam-recover=FORCE",
(char *)"--key_buffer_size=16777216",
(char *)"--character-set-server=utf8",
(char *)"--collation-server=utf8_bin",
NULL };
int num_elements = (sizeof(server_options) / sizeof(char *)) - 1;
mysql_library_init(num_elements, server_options, NULL);
m_mysql = mysql_init(NULL);
char enable_load_infile = 1;
if (mysql_options(m_mysql,MYSQL_OPT_LOCAL_INFILE, (const char *)&(enable_load_infile)))
qDebug() << "Error setting option";
mysql_real_connect(m_mysql, NULL,NULL,NULL, "database1", 0,NULL,0);
Соединение работает, и я могу запрашивать и создавать таблицы, однако, когда я пытаюсь выполнить «загрузить данные локальный infile ...», я всегда получаю «Используемая команда неразрешено с этой версией MySQL ", хотя я устанавливаю --local-infile = 1 в настройках сервера или задаю его в коде:
char enable_load_infile = 1;
if (mysql_options(m_mysql,MYSQL_OPT_LOCAL_INFILE, (const char *)&(enable_load_infile)))
qDebug() << "Error setting option";
Любая идея, что я делаю неправильно и как это исправить?
Большое спасибо за вашу помощь.Карлос.