MySQL 5.1 リファレンスマニュアル :: 23 APIとライブラリー :: 23.2 MySQL C API :: 23.2.3 C API機能の説明 :: 23.2.3.49 mysql_options()
« 23.2.3.48 mysql_num_rows()

23.2.3.50 mysql_ping() »
Section Navigation      [Toggle]
  • 23.2.3 C API機能の説明
  • 23.2.3.1 mysql_affected_rows()
  • 23.2.3.2 mysql_autocommit()
  • 23.2.3.3 mysql_change_user()
  • 23.2.3.4 mysql_character_set_name()
  • 23.2.3.5 mysql_close()
  • 23.2.3.6 mysql_commit()
  • 23.2.3.7 mysql_connect()
  • 23.2.3.8 mysql_create_db()
  • 23.2.3.9 mysql_data_seek()
  • 23.2.3.10 mysql_debug()
  • 23.2.3.11 mysql_drop_db()
  • 23.2.3.12 mysql_dump_debug_info()
  • 23.2.3.13 mysql_eof()
  • 23.2.3.14 mysql_errno()
  • 23.2.3.15 mysql_error()
  • 23.2.3.16 mysql_escape_string()
  • 23.2.3.17 mysql_fetch_field()
  • 23.2.3.18 mysql_fetch_field_direct()
  • 23.2.3.19 mysql_fetch_fields()
  • 23.2.3.20 mysql_fetch_lengths()
  • 23.2.3.21 mysql_fetch_row()
  • 23.2.3.22 mysql_field_count()
  • 23.2.3.23 mysql_field_seek()
  • 23.2.3.24 mysql_field_tell()
  • 23.2.3.25 mysql_free_result()
  • 23.2.3.26 mysql_get_character_set_info()
  • 23.2.3.27 mysql_get_client_info()
  • 23.2.3.28 mysql_get_client_version()
  • 23.2.3.29 mysql_get_host_info()
  • 23.2.3.30 mysql_get_proto_info()
  • 23.2.3.31 mysql_get_server_info()
  • 23.2.3.32 mysql_get_server_version()
  • 23.2.3.33 mysql_get_ssl_cipher()
  • 23.2.3.34 mysql_hex_string()
  • 23.2.3.35 mysql_info()
  • 23.2.3.36 mysql_init()
  • 23.2.3.37 mysql_insert_id()
  • 23.2.3.38 mysql_kill()
  • 23.2.3.39 mysql_library_end()
  • 23.2.3.40 mysql_library_init()
  • 23.2.3.41 mysql_list_dbs()
  • 23.2.3.42 mysql_list_fields()
  • 23.2.3.43 mysql_list_processes()
  • 23.2.3.44 mysql_list_tables()
  • 23.2.3.45 mysql_more_results()
  • 23.2.3.46 mysql_next_result()
  • 23.2.3.47 mysql_num_fields()
  • 23.2.3.48 mysql_num_rows()
  • 23.2.3.49 mysql_options()
  • 23.2.3.50 mysql_ping()
  • 23.2.3.51 mysql_query()
  • 23.2.3.52 mysql_real_connect()
  • 23.2.3.53 mysql_real_escape_string()
  • 23.2.3.54 mysql_real_query()
  • 23.2.3.55 mysql_refresh()
  • 23.2.3.56 mysql_reload()
  • 23.2.3.57 mysql_rollback()
  • 23.2.3.58 mysql_row_seek()
  • 23.2.3.59 mysql_row_tell()
  • 23.2.3.60 mysql_select_db()
  • 23.2.3.61 mysql_set_character_set()
  • 23.2.3.62 mysql_set_local_infile_default()
  • 23.2.3.63 mysql_set_local_infile_handler()
  • 23.2.3.64 mysql_set_server_option()
  • 23.2.3.65 mysql_shutdown()
  • 23.2.3.66 mysql_sqlstate()
  • 23.2.3.67 mysql_ssl_set()
  • 23.2.3.68 mysql_stat()
  • 23.2.3.69 mysql_store_result()
  • 23.2.3.70 mysql_thread_id()
  • 23.2.3.71 mysql_use_result()
  • 23.2.3.72 mysql_warning_count()

23.2.3.49. mysql_options()

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_INIT_COMMAND char * サーバに接続する際実行するコマンド。再接続すると、自動的に再実行されます。
MYSQL_OPT_COMPRESS 使用しない 圧縮されたクライアント/サーバプロトコルを使用。
MYSQL_OPT_CONNECT_TIMEOUT unsigned int * 接続タイムアウトまで秒読み。
MYSQL_OPT_GUESS_CONNECTION 使用しない libmysqldに対してリンクされたアプリケーションに対して、これは、ライブラリが埋込サーバを使うべきか、遠隔サーバを使うべきか憶測することを許します。「Guess」は、ホスト名がセットされたが、これがlocalhostでない場合、遠隔サーバを使うことを意味します。この行動はデフォルトです。MYSQL_OPT_USE_EMBEDDED_CONNECTIONおよびMYSQL_OPT_USE_REMOTE_CONNECTIONはそれを無効にするのに使うことができます。このオプションは、libmysqlclientに対してリンクされたアプリケーションの場合、無視されます。
MYSQL_OPT_LOCAL_INFILE ユニットに対するオプションポインター ポインターが附与されない場合もしくはunsigned int != 0を指さす場合、コマンドLOAD LOCAL INFILEは有効です。
MYSQL_OPT_NAMED_PIPE 使用しない NT上のMySQLサーバに接続する指定パイプを使用してください。
MYSQL_OPT_PROTOCOL unsigned int * 使用するプロトコルの種類。mysql.h で定義され mysql_protocol_type のEナンバー値のうちの1つであるべきです。
MYSQL_OPT_READ_TIMEOUT unsigned int * サーバからの読み込みタイムアウト(TCP/IPコネクションまたはMySQL 5.1.12以前のWindowsでのみ使用できます)。このオプションを使用すると、最後の接続を10分のTCP/IPClose_Wait_Timeout値より早期に検出することができます。
MYSQL_OPT_RECONNECT my_bool * は、接続が失われたと判明した場合、は、サーバへの自動再接続を有効か無効にします。再接続は初期設定によってオフになっていますが、このオプションは再接続行動を明確にセットする方法を提供します。
MYSQL_OPT_SET_CLIENT_IP char * libmysqldに対して (認証サポートを使って編集された libmysqld利用して)リンクされたアプリケーションの場合、これは、ユーザーは認証を目的に、(ストリングとして規定された)規定IPアドレスから接続したと思われることを意味します。このオプションは、libmysqlclientに対してリンクされたアプリケーションの場合、無視されます。
MYSQL_OPT_SSL_VERIFY_SERVER_CERT my_bool * は、サーバに接続するとき使用したホスト名に対する証明の中に登録されたサーバの固有名の認証を有効化したり、無効化したりします。ミスマッチがあった場合、接続は拒絶されます。この機能は、man-in-the-middleアタックを防止するために使用することができます。認証は初期設定では無効になっています。MySQL 5.1.11に追加。
MYSQL_OPT_USE_EMBEDDED_CONNECTION 使用しない libmysqldに対してリンクされたアプリケーションの場合、これは、接続に埋込サーバを使用することを強要します。このオプションは、libmysqlclientに対してリンクされたアプリケーションの場合、無視されます。
MYSQL_OPT_USE_EMBEDDED_CONNECTION 使用しない libmysqldに対してリンクされたアプリケーションの場合、これは、接続に遠隔サーバを使用することを強要します。このオプションは、libmysqlclientに対してリンクされたアプリケーションの場合、無視されます。
MYSQL_OPT_USE_RESULT 使用しない このオプションは使用されません。
MYSQL_OPT_WRITE_TIMEOUT unsigned int * (現在、TCP/IP接続上のWindowsでのみ有効な)サーバへの書き込みに対するタイムアウト。
MYSQL_READ_DEFAULT_FILE char * my.cnfから行う代わりに、指定オプションファイルからオプションを読み取ってくさださい。
MYSQL_READ_DEFAULT_GROUP char * 指定グループ、my.cnfまたはMYSQL_READ_DEFAULT_FILEを使って規定したファイルからオプションを読み取ってください。
MYSQL_REPORT_DATA_TRUNCATION my_bool * MYSQL_BIND.errorを経由して行う準備されたステートメントに対するデータ・トランランケーションエラーの報告を有効かしたり、無効化します。初期設定:無効化。)
MYSQL_SECURE_AUTH my_bool* MySQL 4.1.1およびそれより新しいバージョンのMySQLに使用されているパスワードバッシングをサポートしていないサーバへの接続の可否。
MYSQL_SET_CHARSET_DIR char* 文字セットの定義ファイルを含むダイレクトリーに対するパスネーム。
MYSQL_SET_CHARSET_NAME char* デフォルト文字セットとして使用すべき文字セットの名称。
MYSQL_SHARED_MEMORY_BASE_NAME char* サーバとのコミュニケーションに使用すべ共有メモリオブジェクトの名称。接続したいmysqldサーバのために使用したオプション--shared-memory-base-nameと同じにすべきです。

clientグループは、MYSQL_READ_DEFAULT_FILEまたはMYSQL_READ_DEFAULT_GROUPを使う場合、常に読み込まれることにご注目ください。

オプションファイル内の規定れたグループには、以下のオプションを含めることができます:

オプション 摘要
connect-timeout 接続タイムアウト(秒)。Linux上で、このタイムアウトはサーバから最初の答えを待つためにも使います。
compress 圧縮したクライアント/サーバプロトコルを使ってください。
database 接続コマンドの中に規定されなかった場合、このデータベースに接続してください。
debug デバッグオプション。
disable-local-infile LOAD DATA LOCALの使用が無効。
host デフォルトホストネーム。
init-command MySQLサーバに接続する時実行すべきコマンド。再接続するとき、自動的に再実行されます。
interactive-timeout CLIENT_INTERACTIVEをmysql_real_connect()に規定すると同じように。項23.2.3.52. 「mysql_real_connect()」参照。
local-infile[=(0|1)] 引数がないか、引数!= 0の場合、LOAD DATA LOCALの使用を有効にする。
max_allowed_packet サーバから読み取ることができるパケットの最大サイズ。
multi-results マルチステートメントまたは記憶された手順の実行からマルチ結果セットを取得することを許す。
multi-statements クライアントが、マルチステートメントを(‘;’によって仕切られた)シングルストリングの中に送ることを許す。
password デフォルトパスワード。
pipe NT上のMySQLサーバに接続するため、指定パイプを使ってください。
protocol={TCP|SOCKET|PIPE|MEMORY} サーバに接続するとき使用すべきプロトコル。
port デフォルトポートナンバー。
return-found-rows UPDATEを使うとき、更新された列の代わりに見つかった列を戻すようmysql_info()に告げてください。
shared-memory-base-name=名称 サーバに接続するとき使用すべき共有メモリー(デフォルトは"MYSQL")。
socket デフォルトソケットファイル。
user デフォルトユーザー。

timeoutはconnect-timeoutに置き換えられましたが、timeoutは、下位互換性について、まだMySQL 5.1.15-betaによってサポートされている点にご注目ください。

オプションファイルの明細については、項3.3.2. 「オプションファイルの使用」をご参照ください。

戻り値

成功のためのゼロ。未知のオプションを使う場合、非ゼロ。

例

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セクションから追加オプションを読み取ることを求めるものです。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates