Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++,Mysql API加载本地数据_C++_Mysql - Fatal编程技术网

C++ c++,Mysql API加载本地数据

C++ c++,Mysql API加载本地数据,c++,mysql,C++,Mysql,我需要使用mysql_查询(“本地加载数据”)将数据加载到远程数据库。数据格式如下: 460022103337063 8615210477725 但不幸的是,从文件加载时总是存在coredump。 客户端库是mysql-connector-c-6.0.2-linux-sles10-x86.tar.gz,它是dev.mysql.com/download的最新版本。我们将使用libmysql.so.16.0.0。 我的代码如下: m_pMySQL = mysql_init(NULL); if(!m_

我需要使用mysql_查询(“本地加载数据”)将数据加载到远程数据库。数据格式如下:

460022103337063 8615210477725

但不幸的是,从文件加载时总是存在coredump。 客户端库是mysql-connector-c-6.0.2-linux-sles10-x86.tar.gz,它是dev.mysql.com/download的最新版本。我们将使用libmysql.so.16.0.0。 我的代码如下:

m_pMySQL = mysql_init(NULL);
if(!m_pMySQL)
{
    A7C_LOG_ERROR (logCat, "Can not init mysql!");
    return STATUS_ERROR;
}
if(0 != mysql_options(m_pMySQL, MYSQL_OPT_LOCAL_INFILE, 0))
{
    A7C_LOG_ERROR (logCat, "Can not set mysql to local infile !");
}

if(!mysql_real_connect(m_pMySQL,
    m_host.c_str(),
    m_username.c_str(),
    m_password.c_str(),
    m_dbname.c_str(),
    m_port,
    NULL,
    //0))
    CLIENT_MULTI_RESULTS|CLIENT_LOCAL_FILES))
{
    A7C_LOG_ERROR (logCat, "Can not connect mysql server. ERROR: "<<mysql_error(m_pMySQL));
    return STATUS_ERROR;
}

string load("LOAD DATA LOCAL INFILE '/var/tmp/TDR_HTU1_TID01' IGNORE INTO TABLE LOOKUP");
if(mysql_query(m_pMySQL, load.c_str()))
    {
    A7C_LOG_ERROR (logCat, "Failed to load. Statement: "
        <<load<<". Error:"<<mysql_error(m_pMySQL));
    return STATUS_ERROR;
    }
m_pMySQL=mysql_init(NULL);
如果(!m_pMySQL)
{
A7C_LOG_错误(logCat,“不能初始化mysql!”);
返回状态错误;
}
if(0!=mysql_选项(m_pMySQL,mysql_OPT_LOCAL_infle,0))
{
A7C_日志_错误(logCat,“无法将mysql设置为本地加密!”);
}
如果(!mysql_real_connect(m_pMySQL,
m_host.c_str(),
m_username.c_str(),
m_password.c_str(),
m_dbname.c_str(),
m_port,
无效的
//0))
客户(多(结果|客户(本地)文件)
{
A7C_日志_错误(logCat,“无法连接mysql服务器。错误:”没有这样的文件或目录。
>在/export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/mysys/my_read.c中
>(gdb)在哪里
>\\ 0 0xf7b362d1在我的U读取中(Filedes=18,
>缓冲区=0xf3645a40“460001191124402\t8613611226646\n460027014803029\t8618701483175\n460028101539830\t8615810184408\N4600264337590\t8613426218170\n460022102200877\t8615210220922\n460023100016582\t8615010067740\N460021537606\t8615”。。。,
>计数=8192,MyFlags=)在
>/export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/mysys/my_read.c:55
>默认本地填充读取中的0xf7ac513d(ptr=0xf3d59190,
>buf=0xf3645a40“460001191124402\t8613611226646\n460027014803029\t8618701483175\n460028101539830\t8615810184408\N4600264337590\t8613426218170\n460022102200877\t8615210220922\n460023100016582\t8615010067740\N460021537606\t8615”。。。,
>buf_len=8192)在
>/export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/libmysql/libmysql.c:693
>位于以下位置的句柄(mysql=0x80aa6c0,net\u filename=0x80add11)/var/tmp/TDR\u HTU1\u TID01)中的0xf7ac5337
>/export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/libmysql/libmysql.c:577
>#3 0xf7ac0532在/export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/libmysql/client.c:2867处的cli读取查询结果(mysql=0x80aa6c0)中
>#4 mysql_real_query中的0xf7abcc04(mysql=0x80aa6c0,query=0x807c2d4“加载数据本地填充”/var/tmp/TDR_HTU1_TID01)忽略到表中
>查找”,长度=73)
>at/export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/libmysql/client.c:2912
>#5 mysql_查询中的0xf7ac4f75(mysql=0x80aa6c0,query=0x807c2d4“加载数据本地填充”/var/tmp/TDR_HTU1_TID01“忽略到表查找中”)
>at/export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/libmysql/libmysql.c:790
如果我改为使用mysql的命令行客户机,它工作得很好。
这已经阻止了我们的项目。请帮助!

需要改变LIbMySQL客户端版本,它将在LIbMySQL List.S.16版本中工作。它将不工作在LIbMySQL List.S.18版本。< /P>请将问题格式化,这是对眼睛的痛苦……而且不要垃圾邮件标签。C++不是C不是C++!
> Program terminated with signal 11, Segmentation fault.
>  #0  0xf7b362d1 in my_read (Filedes=18,
> Buffer=0xf3645a40 "460001191124402\t8613611226646\n460027014803029\t8618701483175\n460028101539830\t8615810184408\n460020264337590\t8613426218170\n460022102200877\t8615210220922\n460023100016582\t8615010067740\n460021537608606\t8615"...,
> Count=8192, MyFlags=<value optimized out>) at
> /export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/mysys/my_read.c:55
> 55     
> /export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/mysys/my_read.c:
> No such file or directory.
>         in /export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/mysys/my_read.c
> (gdb) where
> \#0  0xf7b362d1 in my_read (Filedes=18,
>     Buffer=0xf3645a40 "460001191124402\t8613611226646\n460027014803029\t8618701483175\n460028101539830\t8615810184408\n460020264337590\t8613426218170\n460022102200877\t8615210220922\n460023100016582\t8615010067740\n460021537608606\t8615"...,
> Count=8192, MyFlags=<value optimized out>) at
> /export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/mysys/my_read.c:55
>  #1  0xf7ac513d in default_local_infile_read (ptr=0xf3d59190,
>     buf=0xf3645a40 "460001191124402\t8613611226646\n460027014803029\t8618701483175\n460028101539830\t8615810184408\n460020264337590\t8613426218170\n460022102200877\t8615210220922\n460023100016582\t8615010067740\n460021537608606\t8615"...,
> buf_len=8192) at
> /export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/libmysql/libmysql.c:693
>  #2  0xf7ac5337 in handle_local_infile (mysql=0x80aa6c0, net_filename=0x80add11 "/var/tmp/TDR_HTU1_TID01") at
> /export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/libmysql/libmysql.c:577
>  #3  0xf7ac0532 in cli_read_query_result (mysql=0x80aa6c0) at /export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/libmysql/client.c:2867
>  #4  0xf7abcc04 in mysql_real_query (mysql=0x80aa6c0, query=0x807c2d4 "LOAD DATA LOCAL INFILE '/var/tmp/TDR_HTU1_TID01' IGNORE INTO TABLE
> LOOKUP", length=73)
>     at /export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/libmysql/client.c:2912
>  #5  0xf7ac4f75 in mysql_query (mysql=0x80aa6c0, query=0x807c2d4 "LOAD DATA LOCAL INFILE '/var/tmp/TDR_HTU1_TID01' IGNORE INTO TABLE LOOKUP")
>     at /export/home2/tmp/cteam/bs/connector-c/src/mysql-connector-c-6.0.2/libmysql/libmysql.c:790