Db2データベースへの接続
JSON API は、 JDBC 接続を使用して、 Db2データベースへの接続などのさまざまなデータベース操作を実行します。
データベースを使用するには、DB オブジェクトのインスタンスを取得する必要があります。 このオブジェクトは、Connection JDBC 接続や DataSource、またはデータベース URL、ユーザー名、およびパスワードを使用して初期化することができます。
Java™プログラムの次のコードは、 Db2 データベースへの接続方法を示しています
//Create a context and a dataSource
Context initialContext = new InitialContext();
DataSource dataSource = (DataSource)initialContext.lookup("jdbc/myDB2");
//The dataSource instance becomes a cache key for metadata for the target database
DB db = NoSQLClient.getDB(dataSource);以下の多重定義メソッドを使用して、
DB インスタンスを取得することができます。NoSQLClient.getDB(java.sql.Connection)NoSQLClient.getDB(javax.sql.DataSource)NoSQLClient.getDB(String, String, String)getDBメソッドの 3 番目のインスタンスのストリング引数は、以下の引数を取ります。- jdbcUrl
- JDBC 接続による接続に使用可能な URL を指定します。
- ユーザー
- データベースへの接続に使用できるユーザー名を指定します。
- パスワード
- パスワードを指定します。
注: この
DB インスタンスはスレッド間で共有してはなりません。 スレッドごとに独自の NoSQLClient.getDB() メソッド呼び出しを行う必要があります。| 方法 | 説明 |
|---|---|
public void startTransaction() |
必要に応じて接続を取得し、自動コミットを false に設定します。 接続プールやデータ・ソースが使用されている場合、これにより、以降の commitTransaction() または rollbackTransaction() まで DB が単一接続モードになります。 |
public void commitTransaction() |
startTransaction() によって開始されたトランザクションをコミットします。 |
public void rollbackTransaction() |
startTransaction() によって開始されたトランザクションをロールバックします。 |
public void setAutoCommit(boolean autoCommit) |
Db2サーバーが単一接続モードを使用している場合は、自動コミットを設定します。 このメソッドを DataSource モードで呼び出すとエラーになります。 |
注: この表に記載されているトランザクションAPIは、fire and forgetモードには適用されません。
トランザクション API を使用しているときは、単一モード接続を取得して、トランザクションを開始すると接続プール・モードが強制的に単一モードに変更される状態を回避します。
エラーが発生した場合、ドキュメントは挿入されません。 これらの API では、すべてのドキュメントが挿入されるか、一切挿入されないかのいずれかです。