इसका उत्तर है, हमें कोड की निम्नलिखित पंक्ति की आवश्यकता है:
mysql_options( &mysql, MYSQL_OPT_LOCAL_INFILE, 0 );
mysql_init()
. के बीच डाला गया और mysql_real_connect()
।
नीचे संदर्भ के लिए सी कोड का एक टुकड़ा है। ध्यान दें कि SOCI के mysql बैकएंड को काम करने के लिए कोड की इस लाइन के साथ पैच किया जा सकता है।
मैसकल 5.5, जीसीसी 4.7.2, क्वांटल पर परीक्षण किया गया और काम करता है।
#include <mysql.h>
#include <stdio.h>
main()
{
MYSQL mysql;
mysql_init( &mysql );
mysql_options( &mysql, MYSQL_OPT_LOCAL_INFILE, 0 );
if ( !mysql_real_connect( &mysql,"127.0.0.1","root","open_sasame","tmp_db",0,NULL,0 ))
{
fprintf(stderr, "Failed to connect to database: Error: %s\n",
mysql_error( &mysql ));
}
if ( mysql_query( &mysql, "LOAD DATA LOCAL INFILE '/tmp/junk4.txt' "
"INTO TABLE tmp_db.example_tbl FIELDS TERMINATED BY '|' "
"LINES TERMINATED BY '\\n'" ))
{
fprintf( stderr, "ERROR DURING LOAD DATA LOCAL INFILE\n" );
}
mysql_close( &mysql );
}