本記事では、JavaアプリケーションがOceanBase Connector/Jドライバを使用してOceanBaseデータベースに接続し、操作する方法について説明します。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
前提条件
基本的なデータベース開発環境が設定されていることを確認してください。
コンピューターのJava環境がJava JDK 8であることを確認してください。
OceanBase Connector/Jドライバーのインストールパッケージを取得します。OceanBase公式Webサイトのリソース -> ダウンロードセンター -> エンタープライズ版 -> ドライバーとミドルウェアにあるOceanBase JDBCドライバーから対応するバージョンをクリックし、情報を入力してOceanBase Connector/Jドライバーのインストールパッケージをダウンロードします。
Javaアプリケーションの作成
ステップ1:データベース接続文字列を取得する
OceanBaseデータベースのデプロイ担当者または管理者から、該当するデータベース接続文字列を取得します。例:
obclient -h100.88.xx.xx -usys@oracle -p****** -P2883
データベース接続文字列には、データベースへのアクセスに必要なパラメータ情報が含まれています。アプリケーションを作成する前に、データベース接続文字列を使用してデータベースへのログインを検証し、接続文字列のパラメータ情報が正しいことを確認できます。
パラメータ説明:
-h:OceanBaseデータベースの接続IPアドレス。場合によってはODPのアドレスです。
-u:テナントの接続ユーザー名。形式はユーザー@テナント#クラスタ名です。Oracleモードの管理者ユーザー名はデフォルトで
sysです。データベースに直接接続する場合はクラスタ名を記入せず、ODPを介して接続する場合は記入する必要があります。-p:ユーザーパスワード。
-P:OceanBaseデータベースの接続ポート番号。ODPのリスニングポートでもあります。
ステップ2:OceanBase Connector/Jドライバをインストールする
OceanBase Connector/JのJARパッケージを解凍し、ローカルの/usr/share/javaディレクトリに配置して、一時的な環境変数を設定します。
mv ./oceanbase-client-{version}.jar /usr/share/java
export CLASSPATH=/usr/share/java/oceanbase-client-{version}.jar:$CLASSPATH
説明
ダウンロードした実際のファイルのバージョンに応じて、適切な操作を行ってください。
ステップ3:アプリケーションの作成
JavaのサンプルファイルTest.javaを作成します。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.Statement;
public class Test {
public static void main(String[] args) {
try {
Class.forName("com.oceanbase.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:oceanbase://172.30.xx.xx:2881/?pool=false&user=s**@oracle&password=******");
System.out.println(connection.getAutoCommit());
Statement sm = connection.createStatement();
// 新しいテーブルt_meta_formを作成
sm.executeUpdate("CREATE TABLE t_meta_form (name varchar(36) , id int)");
// データを挿入
sm.executeUpdate("insert into t_meta_form values ('an','1')");
// データをクエリし、結果を出力
ResultSet rs = sm.executeQuery("select * from t_meta_form");
while (rs.next()) {
String name = rs.getString("name");
String id = rs.getString("id");
System.out.println(name + ','+ id);
}
// テーブルを削除
sm.executeUpdate("drop table t_meta_form");
}catch (SQLException ex) {
System.out.println("error!");
ex.printStackTrace() ;
}catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
コード内のデータベース接続パラメータを修正します。以下のフィールドを参照し、対応する値はステップ1で取得したデータベース接続文字列から取得します。
url:
-hと-Pパラメータから取得します。jdbc:oceanbase://IP:port/?pool=false。OceanBaseデータベースの接続IPは通常ODPアドレスであり、アクセスに使用するポート番号です。user:
-uパラメータから取得します。テナントの接続ユーザー名で、形式はユーザー@テナント#クラスタ名です。Oracleモードの管理者ユーザー名はデフォルトでsysです。データベースに直接接続する場合はクラスタ名を記入せず、ODPを介して接続する場合は記入する必要があります。password:
-pパラメータから取得します。ユーザーのパスワードです。
ステップ4:アプリケーションの実行
コードの編集が完了したら、以下のコマンドでコンパイルできます:
javac Test.java
コンパイルが完了したら、以下のような結果が得られれば、データベースへの接続が成功し、サンプルステートメントが正しく実行されたことを意味します:
java Test
true
an,1
詳細を見る
Connector/J による OceanBase データベースへの接続の詳細な例については、OceanBase Connector/J による OceanBase データベース接続サンプルプログラムを参照してください。