Задавайте вопросы, мы ответим
Вы не зашли.
Приветствую всех!
Я тут один SQL-запрос составил на 300 Кб Теперь хочу написать клиентскую программу на С++.
Только не знаю, потянет ли функция mysql_query подобный запрос?
Если нет, то какова максимальная длина query для данной функции?
Неактивен
Про ограничения размера запроса ничего не сказано http://dev.mysql.com/doc/refman/6.0/en/mysql-query.html
Главное не превысить max_allowed_packet и 4Gb для char*
Неактивен
Поправочка - 2/3GB на процесс на 32-битной системе (в зависимости от системы и ядра)
Неактивен
Спасибо! Ну что же приступлю к программированию
Неактивен
Да и еще! Есть ли функция на C++, которая выполняет ряд sql-запросов из txt-файла?
Конечно, такую функцию и самому можно написать, но интересно, есть или нет?
Неактивен
system("mysql -e 'source filename.txt'");
Но вообще, лучше напишите свою, разумеется
Неактивен
Вот фрагмент кода:
char *str;
FILE *f;
...
str=new char[44002];
f=fopen("add_object\\query.txt","r");
fread(str,1,44002,f);
fclose(f);
if (mysql_real_query (conn,str,44002))
{ fprintf (stderr, "Error %u: (%s)\n",mysql_errno (conn), mysql_error (conn));
exit (1);
}
delete[] str;
str=new char[320141];
f=fopen("add_object\\query2.txt","r");
fread(str,1,320141,f);
fclose(f);
if (mysql_real_query (conn,str,320141))
{ fprintf (stderr, "Error %u: (%s)\n",mysql_errno (conn), mysql_error (conn));
exit (1);
}
delete[] str;
После второго вызова ф-ции mysql_real_query на консоли выдается сообщение:
Error 2014: (Commands out of sync; you can't run this command now)
Пробовал вводить искусственную задержку между вызовами функций mysql_real_query, но не помогало.
В чем же может быть дело? Спасибо.
Неактивен
http://dev.mysql.com/doc/refman/5.0/en/ … esult.html
After invoking mysql_query() or mysql_real_query(), you must call mysql_store_result() or mysql_use_result() for every statement that successfully retrieves data (SELECT, SHOW, DESCRIBE, EXPLAIN, CHECK TABLE, and so forth). You must also call mysql_free_result() after you are done with the result set.
Неактивен
Спасибо, теперь все в порядке Поистине это ценный ресурс!
Неактивен