1

「info」パラメーターでautocommit = falseをDriverManager.getConnection(String url、Properties info)に渡し、デフォルトで自動コミットが無効になっているdb接続を取得する方法があるかどうかを知りたいです。接続を取得して setAutocommit を false に呼び出すことができることはわかっていますが、これが達成可能かどうかを知りたいです。

4

1 に答える 1

1

一般的に:いいえ。JDBC 仕様では、新しく作成された接続は最初はautoCommit = true. JDBC 4.2 のセクション 10.1.1 から:

Connectionデフォルトでは、オブジェクトの作成時に自動コミット モードが有効になります。

ただし、デフォルトの使用は、ドライバーが代替構成を持つことを許可されていることを意味する場合があります。残念ながら、JDBC 仕様の言語は常に形式的であるとは限らないため、最初は常に a を自動コミットするConnection 必要があるという意図があるかもしれません。

そのため、最初に autoCommit を無効にするプロパティを持つドライバーが存在する可能性がありますが、それはその特定のドライバーのドキュメントで調べる必要があります。これは、その特定のドライバーにのみ適用され、すべての JDBC ドライバーに適用されるわけではありません。

于 2014-09-17T13:07:32.357 に答える