2012-07-13 3 views
1

Java 코드를 작성하여 Oracle9i Enterprise Edition 9.2.0.4.0 릴리스에 연결하려고합니다. 내 컴퓨터는 Windows XP입니다. 클라이언트가 저를 제공하지 않았기 때문에 오라클 DB의 ODBC 어떤 사용자 이름과 암호 또는하지를 사용하는 경우JDBC를 사용하여 Solaris OS에서 Oracle DB에 연결하는 방법은 무엇입니까?

java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 

잘 모르겠어요 : 오라클 DB의 OS는 내가 현재했던 솔라리스 8입니다 그것으로. 제공된 유일한 것은 Oracle DB 서버 호스트 이름입니다. 하지만 사용자 이름과 비밀번호가 필요한 경우 준비가 필요합니다. 따라서 이미 사용자 이름, 암호 및 호스트 이름이 있다고 가정합니다. 이러한 매개 변수를 사용하여 연결하려면 어떻게합니까? jdbc 드라이버를 다운로드해야합니까? 어디에 넣어야합니까? 필자는 솔라리스 8과 오라클 9가 테스트를하지 않기 때문에 완전히 잃어 버렸습니다. 왜냐하면 내가 찾은 바에 따르면 버전/OS 등의 연결 문자열/URL이 다릅니다.

+3

왜 ODBC를 사용하고 있습니까? 오라클 드라이버를 직접 사용하지 않는 것이 좋습니다 ('oracle.jdbc.driver.OracleDriver')? –

+0

몰랐습니다. 나는 Java가 오라클 아래에 있다고 생각 했으므로 ODBC가 작동하지 않는 이유는 무엇입니까? 어쨌든 나는 당신의 해결책을 시도해 볼 것입니다. –

+0

ODBC가 작동하지만 최적의 방법은 아닙니다. 직접 Oracle JDBC 드라이버가 훨씬 효율적입니다. –

답변

4

ODBC를 사용하여 데이터베이스에 연결하는 대신 직접 oracle 드라이버를 사용하는 것이 좋습니다. 당신은 오라클에서 무료로 다운로드 할 수 있습니다 - 그것은 작은 jar 파일입니다 : http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html

그런 다음이 코드를 사용하여 데이터베이스에 연결할 수 있습니다

Connection connection = null; 
try { 
    // Load the JDBC driver 
    String driverName = "oracle.jdbc.driver.OracleDriver"; 
    Class.forName(driverName); 

    // Create a connection to the database 
    String serverName = "sun.host.name.or.ip.address"; 
    String portNumber = "1521"; 
    String sid = "dbname"; 
    String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid; 
    String username = "username"; 
    String password = "password"; 
    connection = DriverManager.getConnection(url, username, password); 
} catch (ClassNotFoundException e) { 
    // Could not find the database driver 
} catch (SQLException e) { 
    // Could not connect to the database 
} 
+0

+1. 나는 똑같은 것을 찾기 위해 코드를 훑어 보았지만 당신은 더 빨랐다. 오라클에 연결하는 올바른 방법입니다. –

관련 문제