int mysql_options4(mysql * mysql,enum mysql_option选项,const void * arg1,const void * arg2)
mysql_options4()
类似于mysql_options()
但具有额外的第四个论点,以便可以在第二个参数中指定的选项传递两个值。
以下列表介绍了允许的选项,其效果以及如何arg1.
和arg2.
使用。
mysql_opt_connect_attr_add.
(参数类型:char *,char *
)此选项将属性键值对添加到当前连接属性集中以在CONNECT时间传递到服务器。两个参数都是指向空终止字符串的指针。第一和第二字符串分别表示密钥和值。如果密钥为空或已存在于当前的连接属性集中,则会发生错误。使用现有键的关键名称的比较区分大小写。
以下划线开头的键名(
_
)保留用于内部使用,不应由应用程序创建。此约定允许MySQL引入的新属性,而不会与应用程序属性碰撞。mysql_options4()
在它接受的连接属性数据的聚合大小上施加了限制的64KB。对于导致超出此限制的呼叫,acr_invalid_parameter_no.
发生错误。服务器端也会出现属性大小限制检查。有关详细信息,请参阅性能架构连接属性表,其中还描述了性能模式如何通过该方法公开连接属性session_connect_attrs.
和session_account_connect_attrs.
表。另请参阅描述的描述
mysql_opt_connect_attr_reset.
和mysql_opt_connect_attr_delete.
描述中的选择mysql_options()
功能。
指定了重复的属性名称。
密钥名称为空,或者键值连接属性数据的数量超过64kb限制。
内存不足。
此示例演示了指定连接属性的调用:
mysql mysql;mysql_init(&mysql);mysql_options(&mysql,mysql_opt_connect_attr_reset,0);mysql_options4(&mysql,mysql_opt_connect_attr_add,“key1”,“value1”);mysql_options4(&mysql,mysql_opt_connect_attr_add,“key2”,“value2”);mysql_options4(&mysql,mysql_opt_connect_attr_add,“key3”,“value3”);mysql_options(&mysql,mysql_opt_connect_attr_delete,“key1”);if(!mysql_real_connect(&mysql,host“,”用户“,”隘口“,”数据库“,0,null,0)){fprintf(stderr,”无法连接到数据库:错误:%s \ n“,mysql_error(&mysql));}