ablog

不器用で落着きのない技術者のメモ

Oracle に接続だけ行う Java プログラム

こんなファイルがあって、

> dir /b
build.bat
ConnectionTester.bat
ConnectionTester.class
ConnectionTester.java
ojdbc14.jar

コンパイルして、

> build.bat

実行すると、

> ConnectionTester.bat
orcl
db01

こんな感じ。


ソースコードは以下の通り。

  • ConnectionTester.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ConnectionTester {
	public static void main(String args[]) {
		Connection conn = null;
		Statement stmt = null;
		ResultSet resultSet = null;
		try {
			Class.forName ("oracle.jdbc.driver.OracleDriver");
			conn = DriverManager.getConnection("jdbc:oracle:thin:@db01.ablog.jp:1521:orcl","scott","tiger");
			stmt = conn.createStatement();
			resultSet = stmt.executeQuery("select sys_context('USERENV','INSTANCE_NAME'), sys_context('USERENV','SERVER_HOST') from dual");
			for(;resultSet.next();) {
				System.out.println(resultSet.getString(1));
				System.out.println(resultSet.getString(2));
			}
			try {
				if (resultSet != null) {
					resultSet.close();
				}
			} catch (SQLException e){
				e.printStackTrace();
			}
			try {
				if (stmt != null) {
					stmt.close();
				}
			} catch (SQLException e){
				e.printStackTrace();
			}
		} catch (SQLException e) {
			System.out.println("Error code: " + e.getErrorCode());
			System.out.println("SQL state: " + e.getSQLState());
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} finally {
			try {
				if (resultSet != null) {
					resultSet.close();
				}
			} catch (SQLException e){
				e.printStackTrace();
			}
			try {
				if (stmt != null) {
					stmt.close();
				}
			} catch (SQLException e){
				e.printStackTrace();
			}
			try {
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e){
				e.printStackTrace();
			}
		}
	}
}
  • build.bat
%~d0
cd %~p0

set PATH=C:\Program Files\Java\jdk1.5.0_11\bin;%PATH%
set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_11
set CLASSPATH=.;ojdbc14.jar

javac ConnectionTester.java
  • ConnectionTester.bat
%~d0
cd %~p0

set PATH=C:\Program Files\Java\jre1.5.0_11\bin;%PATH%
set JAVA_HOME=C:\Program Files\Java\jre1.5.0_11
set CLASSPATH=.;ojdbc14.jar

java ConnectionTester