sql >> データベース >  >> RDS >> Mysql

Mysql 5.5 LOADDATAINFILEパーミッション

    答えは、次のコード行が必要です:

    mysql_options( &mysql, MYSQL_OPT_LOCAL_INFILE, 0 );
    

    mysql_init()の間に挿入 およびmysql_real_connect()

    以下は、参照用のCコードのスニペットです。 SOCIのmysqlバックエンドは、このコード行でパッチを適用して機能させることができることに注意してください。

    テスト済みで、Mysql 5.5、gcc 4.7.2、Quantalで動作します。

    #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 );
    }
    



    1. DBMS_SCHEDULERジョブは1時間ごとに実行する例

    2. phpサーバーERR_CONNECTION_REFUSED

    3. データベースの初期データをiOSアプリにダウンロードするための最良の方法はどれですか?

    4. PostgreSQLで一重引用符で囲まれたテキストを挿入する