Java 연결 oracle 데이터베이스
첫 번 째 는 비교적 오래된 방법 일 것 이다.
Windows 에 서 는 JDBC - ODBC Bridge 로 Oacle 데이터 베 이 스 를 연결 합 니 다. 1. Oacle 클 라 이언 트 프로그램 을 설치 하고 tnsnames. ora 에 해당 하 는 데이터베이스 연결 문자열 파일 을 설정 합 니 다. 여기 연결 문자열 이름 은 'dbora' 입 니 다. 2. windows 의 제어 판 -> "데이터베이스 소스 ODBC"에서 해당 하 는 사용자 나 시스템 DSN 을 구축 합 니 다. 구체 적 인 방법: 설 치 된 데이터 소스 의 드라이버 에서 "Microsoft ODBC for Oracle"을 선택 합 니 다."완료"를 누 르 면 팝 업 대화 상자 에 다음 과 같은 정 보 를 입력 합 니 다. 데이터 원본 이름: dbjdbc 설명: jdbc 데이터 원본 사용자 이름: manager - 데이터베이스 사용자 이름 서버: dbora - 이것 은 연결 문자열 이름 입 니 다. "dbjdbc"는 자바 프로그램 에서 참조 할 이름 입 니 다. 이 데이터 원본 dbjdbc 가 만 들 어 졌 습 니 다.3. 다음 자바 프로그램 만 들 기
// 使用本地的jdbc连接串,查询oracle数据库表
import java.sql.*;
public class lookup {
public static void main(String[] args)
throws SQLException, ClassNotFoundException {
//定义了数据库连接串
String dbUrl = "jdbc:odbc:dbjdbc";
//数据库的用户名
String user = "manager";
//数据库的用户口令
String password = "ora912";
// 加载jdbc-odbc bridge驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// 与url指定的数据源建立连接
Connection c = DriverManager.getConnection(dbUrl, user, password);
//采用Statement进行查询
Statement s = c.createStatement();
ResultSet r = s.executeQuery("SELECT empno,name from emp");
while(r.next()) {
// 打印字段信息
System.out.println(r.getString("empno") + ",
" + r.getString("name ") );
}
// 关闭Statement,其上的ResultSet也将关闭
s.close();
}
}
jdbc 에서 조회 하 는 문 구 는 3 가지 가 있 습 니 다. Statement, Prepared Statement, Callable Statement 입 니 다.jdbc 의 thin 방식 은 Oracle 클 라 이언 트 를 설치 할 필요 도 없고 odbc 를 설정 할 필요 도 없 기 때문에 이 방법 은 비교적 보편적으로 사용 된다.이 방법 은 사용 할 때 oracle 의 jar 패 키 지 를 classpath 변수 에 추가 해 야 합 니 다. 이 패 키 지 는 oralce 클 라 이언 트 프로그램의 $ORACLEHOME/jdbc/lib/classes 12. jar 에서 찾 았 습 니 다.
import java.sql.*;
public class jdbcthin {
//dbUrl数据库连接串信息,其中“1521”为端口,“ora9”为sid
String dbUrl = "jdbc:oracle:thin:@10.10.20.15:1521:ora9";
//theUser为数据库用户名
String theUser = "sman";
//thePw为数据库密码
String thePw = "sman";
//几个数据库变量
Connection c = null;
Statement conn;
ResultSet rs = null;
//初始化连接
public jdbcthin() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
//与url指定的数据源建立连接
c = DriverManager.getConnection(dbUrl, theUser, thePw);
//采用Statement进行查询
conn = c.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}
//执行查询
public ResultSet executeQuery(String sql) {
rs = null;
try {
rs = conn.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public void close() {
try {
conn.close();
c.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ResultSet newrs;
jdbcthin newjdbc = new jdbcthin();
newrs = newjdbc.executeQuery("select * from eventtype");
try {
while (newrs.next()) {
System.out.print(newrs.getString("event_type"));
System.out.println(":"+newrs.getString("content"));
}
} catch (Exception e) {
e.printStackTrace();
}
newjdbc.close();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.