Пользовательская функция в MySQL (плагин расширения C/C++). Не могу выполнить системную командуC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Пользовательская функция в MySQL (плагин расширения C/C++). Не могу выполнить системную команду

Сообщение Anonymous »

Я пытаюсь создать пользовательскую функцию для MySQL (согласно этой документации https://dev.mysql.com/doc/extending-mys ... ction.html) и создать новую команду my_udf, который запускает скрипт Python через системный вызов, но он не работает.

Код: Выделить всё

#include 
#include 
#include 
#include 

extern "C" bool my_udf_init(UDF_INIT* initid, UDF_ARGS* args, char* message)
{
if (args->arg_count != 1 || args->arg_type[0] != STRING_RESULT) {
strcpy(message, "Expected a single string argument");
return 1;
}

initid->const_item = 1;     // This UDF is deterministic
initid->maybe_null = 1;     // This UDF can return NULL
initid->max_length = 0;     // The result can be of any length

return 0;
}

extern "C" char* my_udf(UDF_INIT* initid, UDF_ARGS* args, char* result,
unsigned long* length, char* is_null, char* error)
{
// Print the input string

// Run the Python script and pass the input string as a command-line parameter
char param[] = "params to script";
char cmd[100];
sprintf(cmd, "python3 checker.py %s", param);
system(cmd);

return 0;
}
С моим скриптом Python все в порядке, я проверил дважды.
Думаю, проблема с системой вызовов (cmd).

Подробнее здесь: https://stackoverflow.com/questions/762 ... -system-co
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»