gcc 3.2.2
mysql 5.0.22的库
char querystr[4096];
我在C里用mysql_query(&mysql_mysql,querystr)时,如果 querystr太长了 好像是1017或者1007 就没反映了,程序也死在哪里,
但是用mysql 的客户端(mysql -h 1.1.1.1 -u root)远程连接时不会出问题的话不会有长度问题是不是要在C里声明连接请求长度?

解决方案 »

  1.   

    查一下my.ini或my.cnf文件里的max_allowed_packet设置。。 我以前两个数据库互倒,其中一个就无法执行倒出的备份文件,报的错就是包太大了。max_allowed_packet
    一个查询语句包的最大尺寸。消息缓冲区被初始化为net_buffer_length字节,但是可在需要时增加到max_allowed_packet个字节。该值太小则会在处理大包时产生错误。如果使用大的BLOB列,必须增加该值。 
      

  2.   

    不是服务端的问题吧,因为用mysql -h连上没问题的