int mysql_options(MYSQL *mysql, enum mysql_option
option, const char *arg)
説明
この関数を使用して、接続オプションを追加設定し、接続の動作を変えることができます。この関数を複数回呼び出すことで、複数のオプションを設定できます。
mysql_options()
は、mysql_init()
を実行してから
mysql_connect()
または
mysql_real_connect()
を呼び出すまでの間に呼び出す必要があります。
option
引数は、設定するオプションです。arg
引数はそのオプションに設定する値です。オプションが整数の場合、arg
には整数値へのポインタを渡す必要があります。
設定可能なオプションの値を次に示します。
オプション | 引数の型 | 機能 |
MYSQL_OPT_CONNECT_TIMEOUT |
unsigned int * |
接続のタイムアウト時間(秒単位)。 |
MYSQL_OPT_READ_TIMEOUT |
unsigned int * |
サーバからの読み込みタイムアウト時間(現在は Windows の TCP/IP 接続でのみ有効)。 |
MYSQL_OPT_WRITE_TIMEOUT |
unsigned int * |
サーバへの書き込みタイムアウト時間(現在は Windows の TCP/IP 接続でのみ有効)。 |
MYSQL_OPT_COMPRESS |
未使用 | 圧縮されたクライアント/サーバプロトコルを使用。 |
MYSQL_OPT_LOCAL_INFILE |
unsigned int への省略可能なポインタ | ポインタが指定されないか、または 0 ではない
unsigned int
へのポインタが指定された場合、コマンド
LOAD LOCAL INFILE は有効。 |
MYSQL_OPT_NAMED_PIPE |
未使用 | 名前付きパイプを使用して NT 上で動作する MySQL サーバに接続。 |
MYSQL_INIT_COMMAND |
char * |
MySQL サーバに接続するときに実行するコマンド。再接続時には自動的に再実行される。 |
MYSQL_READ_DEFAULT_FILE |
char * |
my.cnf
ではなく、指定されたオプション設定ファイルからオプションを読み込む。 |
MYSQL_READ_DEFAULT_GROUP |
char * |
my.cnf の指定されたグループまたは
MYSQL_READ_DEFAULT_FILE
で指定されたファイルからオプションを読み込む。 |
MYSQL_OPT_PROTOCOL |
unsigned int * |
使用するプロトコルのタイプ。mysql.h
で定義されている
mysql_protocol_type
の列挙値のいずれか 1 つであること。 |
MYSQL_SHARED_MEMORY_BASE_NAME |
char* |
サーバとの通信に使用する名前付き共有メモリオブジェクト。接続相手の
mysqld サーバが使用するオプション
-shared-memory-base-name
と同じ値を指定する必要がある。 |
注意: MYSQL_READ_DEFAULT_FILE
または
MYSQL_READ_DEFAULT_GROUP
を使用する場合は、グループ
client
が常に読み込まれます。
オプション設定ファイルの指定されたグループには以下のオプションを指定可能です。
オプション | 説明 |
connect-timeout |
接続のタイムアウト時間(秒単位)。Linux では、サーバから最初の応答を待つ場合にもこのタイムアウト時間を使用する。 |
compress |
圧縮されたクライアント/サーバプロトコルを使用。 |
database |
接続コマンドでデータベースが指定されなかった場合に接続するデータベース。 |
debug |
デバッグオプション。 |
disable-local-infile |
LOAD DATA LOCAL の使用を無効にする。 |
host |
デフォルトのホスト名。 |
init-command |
MySQL サーバに接続するときに実行するコマンド。再接続時には自動的に再実行される。 |
interactive-timeout |
mysql_real_connect() で
CLIENT_INTERACTIVE
を指定するのと同じ。 See
項11.1.3.43. 「mysql_real_connect() 」。 |
local-infile[=(0|1)] |
引数が指定されないか、または 0
以外の引数が指定された場合に
LOAD DATA LOCAL
の使用を有効にする。 |
max_allowed_packet |
クライアントがサーバから読み込み可能なパケットの最大サイズ。 |
password |
デフォルトのパスワード。 |
pipe |
名前付きパイプを使用して NT 上で動作する MySQL サーバに接続。 |
protocol=(TCP | SOCKET | PIPE | MEMORY) |
サーバに接続するときに使用するプロトコルを選択(4.1 の新機能)。 |
port |
デフォルトのポート番号。 |
return-found-rows |
UPDATE
を使用したときに更新されたレコードではなく、検索結果のレコードを返すように、mysql_info()
に指示する。 |
shared-memory-base-name=name |
サーバとの接続に使用する共有メモリの名前(デフォルトは "MySQL")。MySQL 4.1 の新機能。 |
socket |
デフォルトのソケット番号。 |
user |
デフォルトのユーザ。 |
注意: timeout
の代わりに
connect-timeout
が提供されていますが、timeout
もしばらくは使用できます。
オプション設定ファイルの詳細については、項4.1.2. 「my.cnf
オプション設定ファイル」
を参照してください。
戻り値
正常終了した場合は 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
ファイルの
odbc
セクションのオプションを追加で読み込むことを、クライアントに要求しています。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.