文件首頁
MySQL 8.4 C API 開發者指南
下載本手冊
PDF (美式信紙) - 1.4Mb
PDF (A4) - 1.4Mb


5.4.55 mysql_options4()

int
mysql_options4(MYSQL *mysql,
               enum mysql_option option,
               const void *arg1,
               const void *arg2)

描述

mysql_options4()mysql_options() 類似,但具有額外的第四個參數,以便可以為第二個參數中指定的選項傳遞兩個值。

以下列表描述了允許的選項、它們的效果以及如何使用 arg1arg2

  • MYSQL_OPT_CONNECT_ATTR_ADD (參數類型:char *, char *)

    此選項將屬性鍵值對新增至目前的連線屬性集合,以便在連線時傳遞至伺服器。兩個參數都是指向以 null 結尾字串的指標。第一個和第二個字串分別表示鍵和值。如果金鑰為空或已存在於目前的連線屬性集中,則會發生錯誤。金鑰名稱與現有金鑰的比較區分大小寫。

    以底線 (_) 開頭的金鑰名稱保留供內部使用,不應由應用程式建立。此慣例允許 MySQL 引入新的屬性,而不會與應用程式屬性衝突。

    mysql_options4() 對其接受的連線屬性資料的總大小施加 64KB 的限制。對於導致超出此限制的呼叫,會發生 CR_INVALID_PARAMETER_NO 錯誤。屬性大小限制檢查也會在伺服器端發生。如需詳細資訊,請參閱效能架構連線屬性資料表,其中也描述了效能架構如何透過 session_connect_attrssession_account_connect_attrs 資料表公開連線屬性。

    另請參閱 mysql_options() 函式說明中 MYSQL_OPT_CONNECT_ATTR_RESETMYSQL_OPT_CONNECT_ATTR_DELETE 選項的描述。

  • MYSQL_OPT_USER_PASSWORD (參數類型:unsigned int *, char *)

    此選項指定多因素驗證因素的密碼 (請參閱 多因素驗證)。

    第一個參數指向一個 unsigned int 變數,該變數的值應為 1、2 或 3,以指示正在指定密碼的因素。第二個參數指向一個字元串,該字元串提供密碼值。

    此選項已在 MySQL 8.0.27 中新增。

傳回值

成功則為零。如果您指定未知的選項,則為非零。

錯誤

範例

此範例示範指定連線屬性的呼叫

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","user","passwd","database",0,NULL,0))
{
    fprintf(stderr, "Failed to connect to database: Error: %s\n",
        mysql_error(&mysql));
}