MySQL Connector/J に java.sql.Driver
を導入するクラスの名称は、com.mysql.jdbc.Driver
です。また、org.gjt.mm.mysql.Driver
クラス名は、MM.MySQL
との後方互換性を保つのにも使用できます。ドライバを登録する際、またそれ以外では
MySQL Connector/J
を使用するようソフトウェアを構成する時に、このクラス名を使用します。
MySQL Connector/J 用の JDBC URL フォーマットは以下。角括弧 ([ 、]) で閉じられたアイテムはオプションです。
jdbc:mysql://[host][,failoverhost...][:port]/[database] » [?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...
ホスト名が指定されていない場合、デフォルトで 127.0.0.1 になります。ポートが指定されていない場合は、デフォルトで3306になり、それがMySQL サーバのデフォルトのポート番号です。
jdbc:mysql://[host:port],[host:port].../[database] » [?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...
データベースが指定されていなければ、デフォルトのデータベースなしで接続が作成されます。その場合、Connection
インスタンスにある setCatalog()
メソッドを呼び出すか、データベース名 ( 例 :
SELECT dbname.tablename.colname FROM
dbname.tablename...
)
を使ってテーブル名を厳密に指定する必要があります。接続に使用するデータベースを指定しない方法は、通常、GUI
データベース
マネージャのように、複数のデータベースと作動するツールを構築する時のみに効果があります。
MySQL Connector/J はフェイルオーバ
サポートを有しています。これによって、ドライバはどんなスレーブ
ホスト番号にもフェイルオーバでき、かつ読み込み専用クエリを実行することが可能になります。フェイルオーバは、トランザクションの進行中は確実でないため、接続が
autoCommit(true)
状態にある時にのみ起こります。ほとんどのアプリケーション
サーバと接続プールは、毎回、トランザクション/接続の使用の最後に
autoCommit
を true
に設定します。
フェイルオーバ機能は次の動作を行います :
URL プロパティ autoReconnect が false の場合 :フェイルオーバは接続初期化でのみ起こり、フェイルバックはドライバが、最初のホストが再度利用可能になったと判断したときに起こります。
URL プロパティ autoReconnect が
true の場合
:フェイルオーバはドライバが、接続不能と判断した場合に起こり
( すべての クエリの前 )
、ホストが再度利用可能になったと判断した時、最初のホストにフェイルバックします
( queriesBeforeRetryMaster
クエリが発行された後 ) 。
どちらのケースでも、"フェイルオーバされた" サーバに接続するたびに、接続は読み取り専用の状態に設定され、データを改変するクエリには例外が投入されます ( クエリが MySQL サーバで処理されることは 絶対にありません ) 。
構成プロパティは、Connector/J がどのように MySQL サーバへの接続を行うか定義します。特別な指示がない限り、プロパティを DataSource オブジェクト、または Connection オブジェクトに設定することができます。
構成プロパティは、以下のどれかの方法で設定することができます :
java.sql.DataSource の MySQL 実装の set*() メソッドを使用する ( java.sql.DataSource の実装を使用する際に推奨される方法 ) 。
com.mysql.jdbc.jdbc2.optional.MysqlDataSource
com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource
DriverManager.getConnection()
または
Driver.connect()
に渡された
java.util.Properties インスタンスの値/キー
ペアとして。
java.sql.DriverManager.getConnection()
、java.sql.Driver.connect()
、または
javax.sql.DataSource
setURL()
メソッドの MySQL
実装に供給された URL 内の JDBC URL
パラメータとして。
注意 : JDBC URL の構成に使用する仕組みが XML ベースの場合、アンド記号 (&) は XML の予約語であるため、構成パラメータを区切るには、XML 文字リテラル & を使う必要があります。
次の表はプロパティの一覧です :
接続/認証.
プロパティ名 | 定義 | デフォルト値 | 対応開始したバージョン |
user | 接続のユーザ名義 | すべて | |
password | 接続に使用するパスワード | すべて | |
socketFactory | サーバにソケット接続を作成するのに、ドライバが使用するべきクラスの名称。このクラスは、インターフェイス 'com.mysql.jdbc.SocketFactory' を実行し、パブリック no-args コンストラクタを有する必要があります。 | com.mysql.jdbc.StandardSocketFactory | 3.0.3 |
connectTimeout | ソケット接続のタイムアウト ( ミリ秒単位 ) 。0 はタイムアウト無し。JDK-1.4 以降でのみ有効。デフォルトで '0' になります。 | 0 | 3.0.1 |
socketTimeout | ネットワーク ソケット動作のタイムアウト ( デフォルトの 0 ではタイムアウト無し ) 。 | 0 | 3.0.1 |
useConfigs | URL の解析、またはユーザ指定プロパティの適用の前に、構成プロパティのコンマ区切りのリストをロード。これらの構成は、資料の ' 構成 ' で説明されています。 | 3.1.5 | |
interactiveClient | WAIT_TIMEOUT でなく INTERACTIVE_TIMEOUT を基に、MySQL にタイムアウトを指示する CLIENT_INTERACTIVE フラグを設定。 | false | 3.1.0 |
propertiesTransform | 接続を試みる前にドライバに渡される URL プロパティの改変に、ドライバが使用する com.mysql.jdbc.ConnectionPropertiesTransform の実行。 | 3.1.4 | |
useCompression | サーバとの交信中に zlib 圧縮を使用 (true/false) ? デフォルトで 'false' になる。 | false | 3.0.17 |
高可用性とクラスタ.
プロパティ名 | 定義 | デフォルト値 | 対応開始したバージョン |
autoReconnect | ドライバは膠着した接続、および/または切断された接続の再確立を試みますか ? 有効になれば、ドライバは停滞または切断された接続で発行された、現行のトランザクションに属するクエリに例外を投入しますが、接続の試みは、新たなトランザクションでの接続で発行される次のクエリの前に行います。この機能の使用は、アプリケーションが SQLExceptions プロパティを扱わない場合、セッション状態とデータの一貫性に対する副次的な悪影響をひきおこします。また、切断され停滞した接続プロパティの結果として、SQLExceptions を扱うアプリケーションを構築できない時にのみ使用するよう設計されているため、利用はお勧めできません。他の方法として、MySQL サーバ変数 "wait_timeout" を、デフォルトの 8 時間でなく、高い値にすることが考えられます。 | false | 1.1 |
autoReconnectForPools | 接続プールに適した再接続の手段を使用 ( デフォルトで 'false' になる ) 。 | false | 3.1.3 |
failOverReadOnly | autoReconnect モードでフェイルオーバが起こる場合、接続は 'read-only' に設定しますか ? | true | 3.0.12 |
reconnectAtTxEnd | autoReconnect が true に設定されている場合、ドライバは毎トランザクションの最後に再接続を試みますか ? | false | 3.0.10 |
roundRobinLoadBalance | autoReconnect が有効で、failoverReadonly が false の場合、ラウンドロビン方式で接続するホストを選びますか ? | false | 3.1.2 |
queriesBeforeRetryMaster | フェイルオーバが起きた際、マスタへフォールバックする前に発行されるクエリの数 ( マルチ ホストのフェイルオーバを使用する場合 ) 。'queriesBeforeRetryMaster' または 'secondsBeforeRetryMaster' の、先に条件に合った方がマスタへの接続を促します。デフォルトで 50 になります。 | 50 | 3.0.2 |
secondsBeforeRetryMaster | フェイルオーバが起こる時、ドライバがマスタ サーバへの接続を試みるまでの待機時間は ? 'queriesBeforeRetryMaster' または 'secondsBeforeRetryMaster' の、先に条件に合った方がマスタへの接続を促します。時間は秒単位で、デフォルトで 30 になります。 | 30 | 3.0.2 |
enableDeprecatedAutoreconnect | 自動再接続機能は、バージョン 3.2 からは使用停止になり、バージョン 3.3 では削除予定。このプロパティを 'true' に設定し、構成中の機能のチェックを無効にします。 | false | 3.2.1 |
resourceId | URL で使用されているホスト名からドライバが値を判断できない場合に、XAResource.isSameRM() に使用される、このデータソースまたはコネクションが接続されているソースを特定する大域的に一意な名称。 | 5.0.1 |
セキュリティ.
プロパティ名 | 定義 | デフォルト値 | 対応開始したバージョン |
allowMultiQueries | ひとつのステートメントの間で、複数のクエリを区切るために ';' の使用を可能にします (true/false 、デフォルトの 'false' になる ) | false | 3.1.1 |
useSSL | サーバとの通信中に SSL を使用 ( true/false ) 。デフォルトの false' になります。 | false | 3.0.2 |
requireSSL | useSSL=true の場合、SSL 接続は必須 ? ( デフォルトの 'false' になる ) 。 | false | 3.1.0 |
allowUrlInLocalInfile | ドライバは 'LOAD DATA LOCAL INFILE' ステートメントで URL を許可しますか ? | false | 3.1.4 |
paranoid | エラーメッセージに機密情報が表示されるのを防ぐ対策を取り、可能な場合は機密データを持つデータ構造を消去しますか ? ( デフォルトの 'false' になる ) | false | 3.0.1 |
性能拡張.
プロパティ名 | 定義 | デフォルト値 | 対応開始したバージョン |
metadataCacheSize | cacheResultSetMetaData が 'true' に設定されている場合の、cacheResultSetMetadata へのクエリの数 ( デフォルトは 50 ) 。 | 50 | 3.1.1 |
prepStmtCacheSize | プリペアド ステートメントのキャッシングが有効な場合に、キャッシュされるプリペアド ステートメントの数は ? | 25 | 3.0.10 |
prepStmtCacheSqlLimit | ステートメントのキャッシングが有効な場合、ドライバが解析をキャッシュする最大の SQL は ? | 256 | 3.0.10 |
useCursorFetch | ステートメント上の MySQL > 5.0.2 、および setFetchSize() > 0 に接続している場合、そのステートメントは行の取り出しにカーソル ベースのフェッチを使用しますか ? | false | 5.0.0 |
blobSendChunkSize | ServerPreparedStatements を介して BLOB/CLOB を送る時に使用するチャンク。 | 1048576 | 3.1.9 |
cacheCallableStmts | ドライバは CallableStatements の解析過程をキャッシュしますか ? | false | 3.1.2 |
cachePrepStmts | ドライバは、クライアント側プリペアド ステートメントの PreparedStatements 、サーバ側プリペアドの適合性の "check" 、そしてサーバ側プリペアド ステートメントそのものの解析過程をキャッシュしますか ? | false | 3.0.10 |
cacheResultSetMetadata | ドライバは Statements および PreparedStatements の ResultSetMetaData をキャッシュしますか ? ( Req. JDK-1.4+ 、true/false 、デフォルトは 'false' ) | false | 3.1.1 |
cacheServerConfiguration | ドライバは、毎 URL ベースで 'SHOW VARIABLES' および 'SHOW COLLATION' の結果をキャッシュしますか ? | false | 3.1.5 |
defaultFetchSize | ドライバはこの値を使用して、新しく作成されたステートメントのすべてで setFetchSize(n) を呼び出します。 | 0 | 3.1.9 |
dontTrackOpenResources | JDBC の仕様は、ドライバが自動的にリソースを追跡し閉じることを必須としていますが、もしアプリケーションがステートメントまたは結果セットで上手く close() を明示的に呼び出せていない場合は、これがメモリ リークの原因になることがあります。このプロパティを true に設定することで、その制約を緩和することができ、アプリケーションによってはメモリ効率を上げることにもなります。 | false | 3.1.7 |
dynamicCalendars | デフォルトのカレンダーが必要な場合、ドライバはそれを取り出す、または 毎接続/セッションでキャッシュしますか ? | false | 3.1.5 |
elideSetAutoCommits | MySQL-4.1 以降を使用している場合、サーバの状態が Connection.setAutoCommit(boolean) の要求した状態と合わない時に、ドライバは 'set autocommit=n' クエリのみを発行しますか ? | false | 3.1.3 |
holdResultsOpenOverStatementClose | JDBC 仕様で要求されているように、ドライバは Statement.close() で結果セットを閉じますか ? | false | 3.1.7 |
locatorFetchBufferSize | 'emulateLocators' が 'true' に構成されている場合、getBinaryInputStream の BLOB データをフェッチする時に使用するバッファのサイズは ? | 1048576 | 3.2.1 |
rewriteBatchedStatements | executeBatch() が呼び出された時に、ドライバは多値インサートへの INSERT のために、プリペアド ステートメントの書き換えをすると共に、マルチクエリを ( "allowMultiQueries" の設定に関係なく ) 使用しますか ? 普通の java.sql.Statements を使用していて、コードがインプットを正しくサニタイズしない場合、これは SQL インジェクションになりえることをご留意ください。プリペアド ステートメントでは、サーバ側プリペアド ステートメントは現在この書き換えオプションを利用できません。また、PreparedStatement.set*Stream() の使用時にストリーム長を指定していない場合、ドライバはバッチ当たりのパラメータの適した数を判断することができず、結果パケットが大きすぎるというエラーが出るおそれがあるので注意してください。これらの書き換えられたステートメントの Statement.getGeneratedKeys() は、全体のバッチが INSERT 文を含む場合にしか作動しません。 | false | 3.1.13 |
useFastIntParsing | 過剰なオブジェクトの作成を避けるために内部 String->Integer 変換ルーチンを使用 ? | true | 3.1.4 |
useJvmCharsetConverters | 1 バイト文字セットをテーブルのルックアップ表を使用するより、JVM に組み込まれた文字エンコード ルーチンを常に使用する ? ( このデフォルトである "true" は、より新しい JVM に適しています ) | true | 5.0.1 |
useLocalSessionState | ドライバは、データベースを問い合わせるより、Connection.setAutoCommit() および Connection.setTransactionIsolation() によって設定された、自動コミットとトランザクションの隔離の内部値を参照しますか ? | false | 3.1.7 |
useReadAheadInput | サーバから読み取る時、より新しい、最適化された非ブロッキングの、バッファされた入力ストリームを使用 ? | true | 3.1.5 |
デバッグ/プロファイリング.
プロパティ名 | 定義 | デフォルト値 | 対応開始したバージョン |
logger | メッセージのログ先として使用される 'com.mysql.jdbc.log.Log' を実行するクラスの名称 ( デフォルトは 'com.mysql.jdbc.log.StandardLogger' で、STDERR にログ ) 。 | com.mysql.jdbc.log.StandardLogger | 3.1.1 |
profileSQL | デフォルトの false になる構成されたロガ (true/false) へのクエリとその実行/フェッチ時間を追跡。 | false | 3.1.0 |
reportMetricsIntervalMillis | 'gatherPerfMetrics' が有効な場合のログの頻度は ( ミリ秒単位 ) ? | 30000 | 3.1.2 |
maxQuerySizeToLog | プロファイリングまたはトレースの際に記録されるクエリの最大長/サイズを制御。 | 2048 | 3.1.3 |
packetDebugBufferSize | 'enablePacketDebug' が true の場合に、保留するパケットの最大数。 | 20 | 3.1.3 |
slowQueryThresholdMillis | 'logSlowQueries' が有効な場合、クエリが 'slow' と記録されるまでの長さは ( ミリ秒単位 ) ? | 2000 | 3.1.2 |
useUsageAdvisor | ドライバは、適切で効果的な JDBC および MySQL Connector/J の使用を忠告する 'usage' 警告をログに発行しますか ( true/false 、デフォルトの 'false' になる ) ? | false | 3.1.1 |
autoGenerateTestcaseScript | ドライバは、サーバ側プリペアド ステートメントを含む、実行中の SQL を STDERR へダンプしますか ? | false | 3.1.9 |
dumpMetadataOnColumnNotFound | ドライバは、ResultSet.findColumn() が履行に失敗した場合、結果セットのフィールドレベル メタデータを例外メッセージにダンプしますか ? | false | 3.1.13 |
dumpQueriesOnException | ドライバは、サーバに送られたクエリの内容を、SQLExceptions のメッセージにダンプしますか ? | false | 3.1.3 |
enablePacketDebug | 有効な場合、'packetDebugBufferSize' パケットのリングバッファは維持され、ドライバのコードの重要エリアに例外が投入される際にダンプされます。 | false | 3.1.3 |
explainSlowQueries | 'logSlowQueries' が有効な場合、ドライバは自動的にサーバに 'EXPLAIN' を発行し、WARN レベルで結果を構成されたログに送りますか ? | false | 3.1.2 |
logSlowQueries | 'slowQueryThresholdMillis' より長くかかるクエリを記録しますか ? | false | 3.1.2 |
traceProtocol | トレース レベル ネットワーク プロトコルを記録しますか ? | false | 3.1.2 |
その他.
プロパティ名 | 定義 | デフォルト値 | 対応開始したバージョン |
useUnicode | ドライバは、ストリングを扱う際、Unicode 文字エンコードを使用しますか ? ドライバが文字セットのマッピングを識別できない、または、MySQL が元来サポートしない文字セット ( 例えば UTF-8 ) を使用するために、ドライバの 'force' を試みる場合にのみに使用する ? true/false 、デフォルトの 'true' になります。 | true | 1.1g |
characterEncoding | 'useUnicode' が true に設定されている場合、ストリングを扱う際にドライバが使用する文字エンコーディングは ? ( デフォルトは 'autodetect' ) | 1.1g | |
characterSetResults | 戻す結果の文字セットをサーバに指示。 | 3.0.13 | |
connectionCollation | 設定された場合、 'set collation_connection' を介してこのコレクションを使用するようサーバに指示。 | 3.0.13 | |
sessionVariables | ドライバが接続した際、SET SESSION ... としてサーバに送られる、コンマで区切られた名前/値ペアのリスト。 | 3.1.8 | |
allowNanAndInf | ドライバは、PreparedStatement.setDouble() で NaN or +/- INF 値を許容しますか ? | false | 3.1.5 |
autoClosePStmtStreams | ドライバは、set*() メソッドを介して引数として渡される .close() を、ストリーム/リーダとして自動的呼び出しますか ? | false | 3.1.12 |
autoDeserialize | ドライバは、BLOB フィールドに保管されたオブジェクトを、自動的に検出してデシリアル化しますか ? | false | 3.1.5 |
capitalizeTypeNames | DatabaseMetaData でタイプ名を大文字にしますか ? ( 通常は WebObjects を使用している場合にのみ有効、true/false 、デフォルトの 'false' になる ) | false | 2.0.7 |
clobCharacterEncoding | 構成された接続 characterEncoding の代わりに、TEXT 、MEDIUMTEXT 、および LONGTEXT 値の送信と引き出しに使用する文字エンコード。 | 5.0.0 | |
clobberStreamingResults | これによって、'streaming' ResultSet は自動的に閉じられ、すべてのデータをサーバから読み取る前に他のクエリが実行された場合、まだサーバからストリーミングが続いている未決のデータは破棄されます。 | false | 3.0.9 |
continueBatchOnError | ひとつのステートメントが履行に失敗した場合、ドライバはバッチ コマンドの処理を続けますか ? JDBC 仕様はどちらも許可 ( デフォルトの 'true' になる ) 。 | true | 3.0.3 |
createDatabaseIfNotExist | URL で提供されるデータベースがまだなければ作成。構成されたユーザはデータベース作成の許可を取っているものとします。 | false | 3.1.9 |
emptyStringsConvertToZero | ドライバは、殻のストリング フィールドから '0' の数値への変換を許可しますか ? | true | 3.1.8 |
emulateLocators | N/A | false | 3.1.0 |
emulateUnsupportedPstmts | ドライバは、サーバにサポートされていないプリペアド ステートメントを検出し、それらをクライアント側のエミュレートされたバージョンに置き換えますか ? | true | 3.1.7 |
ignoreNonTxTables | ロールバックの非トランザクション テーブル警告を無視しますか ? ( デフォルトの 'false' になる ) | false | 3.0.9 |
jdbcCompliantTruncation | 警告をサポートするサーバに接続する場合 ( MySQL 4.1.0 以降 ) 、JDBC 仕様で要求されるようにデータがトランザクションされる時に、ドライバは java.sql.DataTruncation 例外を投入しますか ? | true | 3.1.2 |
maxRows | 返す行の最大数 ( デフォルトの 0 は、すべての行を返します ) 。 | -1 | all versions |
noAccessToProcedureBodies | CallableStatements のプロシージャ パラメータ タイプを識別する際に、接続しているユーザが "SHOW CREATE PROCEDURE" を介してプロシージャ本体にアクセスできない場合、または mysql.proc で選択できない場合、ドライバは例外を投入する代わりに、基本メタデータ ( INOUT VARCHAR としてレポートされたすべてのパラメータ ) を作成しますか ? | false | 5.0.3 |
noDatetimeStringSync | ResultSet.getDatetimeType().toString().equals(ResultSet.getString()) を確立しません。 | false | 3.1.7 |
noTimezoneConversionForTimeType | 'useTimezone'='true' の場合、サーバ時間帯を使って TIME 値を変換しません。 | false | 5.0.0 |
nullCatalogMeansCurrent | DatabaseMetadataMethods が 'catalog' パラメータを要求する際、値 null は現在のカタログを使用するという意味ですか ? ( これは JDBC 対応ではありませんが、前バージョンのドライバ旧来の動作に従っています ) | true | 3.1.8 |
nullNamePatternMatchesAll | *pattern パラメータを受け付ける DatabaseMetaData メソッドは、null を '%' と同様に扱いますか ? ( これは JDBC 対応ではありませんが、旧バージョンのドライバは、仕様からこれを受け入れます ) | true | 3.1.8 |
overrideSupportsIntegrityEnhancementFacility | ドライバは、外部キーのシグナル サポートに "true" を戻すアプリケーションを避けるために、DatabaseMetaData.supportsIntegrityEnhancementFacility() に "true" を戻しますか ? データベースはこの関数をサポートしておらず、SQL 仕様はこの機能が外部キーのサポート以上のものを含んでいると示しています。そのような回避アプリケーションのひとつには Openoffice があります。 | false | 3.1.12 |
pedantic | 例外なく JDBC 仕様に従います。 | false | 3.0.0 |
pinGlobalTxToPhysicalConnection | XAConnections を使用する時、ドライバは、与えられた XID 上の作業が常に同じ物理接続に送られるよう確認するべきですか ? これは、"XA END" が呼び出された後、XAConnection が "XA START ... JOIN" をサポートするのを許可します。 | false | 5.0.1 |
processEscapeCodesForPrepStmts | ドライバは、準備されたクエリのエスケープ コードを処理しますか ? | true | 3.1.12 |
relaxAutoCommit | ドライバが接続する MySQL のバージョンがトランザクションをサポートしない場合でも、commit() 、 rollback() 、および setAutoCommit() への呼び出しを許可しますか ( true/false 、デフォルトの 'false' になる ) ? | false | 2.0.13 |
retainStatementAfterResultSetClose | ドライバは、ResultSet.close() が呼び出された後、ResultSet の Statement リファレンス を保持しますか ? JDBC-4.0 以降では、これは JDBC 対応ではありません ) | false | 3.1.11 |
rollbackOnPooledClose | プール内の理論接続が閉じられた後、ドライバは rollback() を発行しますか ? | true | 3.0.15 |
runningCTS13 | Sun の JDBC 適応性テストスイート バージョン 1.3 のバグの回避を有効にします。 | false | 3.1.7 |
serverTimezone | timezone の検出/マッピングをオーバーライドします。サーバからの timezone が Java timezone にマップしない場合に使用されます。 | 3.0.2 | |
strictFloatingPoint | 適合テストの旧バージョンでのみ使用。 | false | 3.0.0 |
strictUpdates | ドライバは更新可能な結果セットに厳密なチェック ( 選択されたすべてのプライマリ キー ) を行いますか ( true 、false 、デフォルトの 'true' になる ) ? | true | 3.0.4 |
tinyInt1isBit | ドライバは datatype TINYINT(1) を BIT タイプとして扱いますか ( テーブルを作成する時にサーバが BIT -> TINYINT(1) を暗黙的に変換するため ) ? | true | 3.0.16 |
transformedBitIsBoolean | ドライバが TINYINT(1) を他のタイプに変換する場合、MySQL-5.0 は BIT タイプを持っているので、今後の MySQL-5.0 との互換性のため、BIT でなく BOOLEAN を使用しますか ? | false | 3.1.9 |
ultraDevHack | UltraDev が破損しており、prepareCall() for _all_ statements を発行するため、必要な場合は、prepareCall() に PreparedStatements を作成しますか ? ( true/false 、デフォルトの 'false' になる ) | false | 2.0.3 |
useGmtMillisForDatetimes | Date と Timestamp のインスタンスを作成する前に、セッション timezone と GMT 間を変換します ( "false" の値は旧来の動作、"true" はより JDBC 対応の動作を起こします ) 。 | false | 3.1.12 |
useHostsInPrivileges | DatabaseMetaData.getColumn/TablePrivileges() でユーザに '@hostname' を加えます (true/false) 。デフォルトの 'true' になります 。 | true | 3.0.2 |
useInformationSchema | MySQL-5.0.7 以降に接続する場合、ドライバは DatabaseMetaData をを使って DatabaseMetaData に使用されている情報を引き出しますか ? | false | 5.0.0 |
useJDBCCompliantTimezoneShift | java.util.Calendar 引数を取るそれらの JDBC 引数の、TIME/TIMESTAMP/DATETIME 値の timezone 情報を変換する時、ドライバは JDBC 対応 ルールを使用しますか ? ( このオプションは "useTimezone=true" 構成オプション専用です ) | false | 5.0.0 |
useOldAliasMetadataBehavior | ドライバは、カラムおよびテーブルの "AS" 句に旧来の動作を使用し、エイリアス ( もしあれば ) を、元のカラム/テーブル名でなく、ResultSetMetaData.getColumnName() または ResultSetMetaData.getTableName() にのみ戻しますか ? | true | 5.0.4 |
useOldUTF8Behavior | 4.0 以前のサーバと交信している時、ドライバが行った UTF-8 動作を使用。 | false | 3.1.6 |
useOnlyServerErrorMessages | サーバが戻したエラー メッセージに、'standard' SQLState エラー メッセージを付加しません。 | true | 3.0.15 |
useServerPrepStmts | サーバがサポートする場合は、サーバ側プリペアド ステートメントを使用しますか ? ( デフォルトの 'true' になる ). | true | 3.1.0 |
useSqlStateCodes | 'legacy' X/Open/SQL 状態コードでなく、SQL Standard 状態コードを使用 (true/false) 。デフォルトは 'true' 。 | true | 3.1.3 |
useStreamLengthsInPrepStmts | PreparedStatement/ResultSet.setXXXStream() メソッド コールでストリーム長パラメータを引き受けます (true/false 、デフォルトの 'true' になる )? | true | 3.0.2 |
useTimezone | クライアントとサーバの timezone 間の時間/日付タイプを変換しますか (true/false 、デフォルトの 'false' になる ) ? | false | 3.0.2 |
useUnbufferedInput | サーバからのデータ読み取りに BufferedInputStream を使用しません。 | true | 3.0.11 |
yearIsDateType | JDBC ドライバは MySQL タイプ "YEAR" を、java.sql.Date または SHORT として扱いますか ? | true | 3.1.9 |
zeroDateTimeBehavior | ドライバが、すべてゼロで構成された DATETIME 値 ( 無効な日付を表すために MySQL で使用される ) に遭遇した時のリアクションは ?有効値は 'exception' 、'round' 、および 'convertToNull' 。 | exception | 3.1.4 |
Connector/J はまた、socketFactory
プロパティを通して、NamedPipeSocketFactory
をプラグイン ソケット
ファクトリとして使用する Windows NT/2000/XP
の名前付きパイプを介したMySQL
へのアクセスをサポートします。namedPipePath
プロパティを使わない場合、'\\.\pipe\MySQL'
のデフォルトが使用されます。NamedPipeSocketFactory
を使用する場合は、JDBC url
内のホスト名とポート番号の値は無視されます。その機能は次を使って有効にすることができます
:
socketFactory=com.mysql.jdbc.NamedPipeSocketFactory
名前付きパイプは、JDBC ドライバが使用されているのと同じマシンで MySQL に接続している時にのみ作動します。簡単な作動テストでは、名前付きパイプのアクセスは、標準のアクセスより 30% から 50% 速いという結果が出ています。
com.mysql.jdbc.NamedPipeSocketFactory
、または
com.mysql.jdbc.StandardSocketFactory
のコード例を使用して、独自のソケット
ファクトリを作成することができます。