mysql_options

mysql_options是一個函式名,可用於設定額外的連線選項,並影響連線的行為。可多次調用該函式來設定數個選項。

頭檔案

#include<mysql.h>

函式原型

int mysql_options(MYSQL *mysql, enum mysql_option option, const void *arg);

說明

可用於設定額外的連線選項,並影響連線的行為。可多次調用該函式來設定數個選項。

應在mysql_init()之後、以及mysql_connect()或mysql_real_connect()之前調用mysql_options()。

選項參量指的是你打算設定的選項。Arg參量是選項的值。如果選項是整數,那么arg應指向整數的值。

注意,如果使用了MYSQL_READ_DEFAULT_FILE或MYSQL_READ_DEFAULT_GROUP,總會讀取客戶端組。

選項檔案中指定的組可能包含下述選項:

選項 描述
connect-timeout 以秒為單位連線逾時,該逾時也用作等待伺服器首次回應時間
compress 使用壓縮客戶端/伺服器協定。
database 如果在連線命令中未指定資料庫,連線到該資料庫。
debug 調試選項。
disable-local-infile 禁止使用LOAD DATA LOCAL。
host 默認主機名。
init-command 連線到MySQL伺服器時將執行的命令。
interactive-timeout 等同於將CLIENT_INTERACTIVE指定為mysql_real_connect()。
local-infile[=(0|1)] 如果無參量或參量!= 0,那么將允許使用LOAD DATA LOCAL。
max_allowed_packet 客戶端能夠從伺服器讀取的最大信息包。
multi-results 允許多語句執行或存儲程式的多個結果集。
multi-statements 允許客戶端在1個字元串內傳送多條語句。(由“;”隔開)。
password 默認密碼。
pipe 使用命名管道連線到NT平台上的MySQL伺服器。
protocol={TCP | SOCKET | PIPE | MEMORY} 連線到伺服器時將使用的協定。
port 默認連線埠號。
return-found-rows 通知mysql_info()返回發現的行,而不是使用UPDATE時更新的行。
shared-memory-base-name= name 共享記憶體名稱,用於連線到伺服器(默認為"MYSQL")。
socket 默認的套接字檔案。
user 默認用戶。

注意,“timeout”(逾時)已被“connect-timeout”(連線逾時)取代,但為了保持向後兼容,在MySQL 5.1.2-alpha中仍支持“timeout”(逾時)。

該函式成功時返回0。如果使用了未知選項,返回非0值。

範例

MYSQL mysql;

mysql_init(&mysql);

mysql_options(&mysql,MYSQL_OPT_COMPRESS,0);

mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"odbc");

if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0))

{

fprintf(stderr, "Failed to connect to database: Error: %s\n",

mysql_error(&mysql));

}

該代碼請求客戶端使用壓縮客戶端/伺服器協定,並從my.cnf檔案的obdc部分讀取額外選項。

相關詞條

熱門詞條

聯絡我們