Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » SQL Anywhere JDBC ドライバ » JDBC クライアント・アプリケーションからの接続

 

JDBC 接続についての注意

  • オートコミットの動作   JDBC の仕様により、デフォルトでは各データ修正文が実行されると、COMMIT が実行されます。現在、クライアント側の JDBC はコミットを実行し (オートコミットは true)、サーバ側の JDBC はコミットを実行しない (オートコミットは false) ように動作します。クライアント側とサーバ側のアプリケーションの両方で同じ動作を実行するには、次のような文を使用します。
    con.setAutoCommit( false );

    この文で、con は現在の接続オブジェクトです。オートコミットを true に設定することもできます。

  • 接続デフォルト   サーバ側の JDBC からデフォルト値で新しい接続を作成するのは、getConnection( "jdbc:default:connection" ) の最初の呼び出しだけです。後続の呼び出しは、接続プロパティを変更せずに、現在の接続のラッパーを返します。最初の接続でオートコミットを false に設定すると、同じ Java コード内の後続の getConnection 呼び出しでは、オートコミットが false に設定された接続を返します。

    接続を閉じるときに接続プロパティをデフォルト値に復元し、後続の接続を標準の JDBC 値で取得できるようにしたい場合があります。これを行うには、次のコードを実行します。

    Connection con = 
        DriverManager.getConnection("jdbc:default:connection");
    
    boolean oldAutoCommit = con.getAutoCommit();
    try {
         // main body of code here
    }
    finally {
        con.setAutoCommit( oldAutoCommit );
    }

    ここに記載された説明は、オートコミットだけでなく、トランザクションの独立性レベルや読み込み専用モードなどのその他の接続プロパティにも適用されます。

    getTransactionIsolation、setTransactionIsolation、isReadOnly の各メソッドの詳細については、java.sql.Connection インタフェースのマニュアルを参照してください。