Я искал повсеместно для потоковой передачи файла в MySQL, используя C, и я не могу ничего найти. Это довольно легко сделать в C ++, C # и многих других языках, но я не могу найти ничего для прямой C.
По сути, у меня есть файл, и я хочу прочитать этот файл в столбце TEXT или BLOB в моей базе данных MySQL. Это может быть легко достигнуто путем циклического перемещения по файлу и использования последующих вызовов CONCAT()
для добавления данных в столбец. Однако я не думаю, что это так элегантно, как решение, и, вероятно, очень подвержено ошибкам.
Я изучил подготовленные операторы, используя mysql_stmt_init()
и все привязки и т. Д., Но, похоже, он не принимает указатель FILE
для чтения данных в базу данных.
Важно отметить, что я работаю с очень большими файлами, которые не могут быть сохранены в ОЗУ, поэтому чтение всего файла во временную переменную исключено.
Проще говоря: как я могу прочитать файл с диска в базу данных MySQL, используя C? И имейте в виду, должен быть некоторый тип буфера (то есть BUFSIZ
из-за размера файлов). Кто-нибудь достиг этого? Является ли это возможным? И я ищу решение, которое работает как с текстовыми, так и с двоичными файлами.