什么jdbc jar用于oracle 11g& jdk 1.6以及如何连接到db本身

时间:2011-11-04 09:29:55

标签: oracle jdbc oracle11g

我正在用Java编写数据库访问器。数据库在Oracle 11g中,我绝对不熟悉,我有JDK 1.6。

  1. ojdbc4.jar会为我的程序做吗?我们不允许在办公室连接到互联网,我无法下载ojdbc6.jar,我读过的内容与我的设置更兼容。
  2. 我应该在Class.forName(字符串驱动程序)和DriverManager.getConnection(String connectionURL)中放入哪些字符串?我不知道驱动程序字符串和连接URL,因为它们(自然地)看起来与MS SQL Server的非常不同。

2 个答案:

答案 0 :(得分:18)

  1. Oracle将Jar与Oracle客户端或服务器安装捆绑在一起,可以在$ORACLE_HOME/jdbc/lib/ojdbc6.jar中找到。我总是使用那个。

  2. 驱动程序类名为oracle.jdbc.OracleDriver,网址为jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE

  3. 以下是一个示例(取自here):

    import java.sql.*;
    class Conn {
      public static void main (String[] args) throws Exception
      {
       Class.forName ("oracle.jdbc.OracleDriver");
    
       Connection conn = DriverManager.getConnection
         ("jdbc:oracle:thin:@//localhost:1521/orcl", "scott", "tiger");
                            // @//machineName:port/SID,   userid,  password
       try {
         Statement stmt = conn.createStatement();
         try {
           ResultSet rset = stmt.executeQuery("select BANNER from SYS.V_$VERSION");
           try {
             while (rset.next())
               System.out.println (rset.getString(1));   // Print col 1
           } 
           finally {
              try { rset.close(); } catch (Exception ignore) {}
           }
         } 
         finally {
           try { stmt.close(); } catch (Exception ignore) {}
         }
       } 
       finally {
         try { conn.close(); } catch (Exception ignore) {}
       }
      }
    }
    

答案 1 :(得分:6)

与JDK 1.6结合使用的官方JAR文件为ojdbc6.jar。但是ojdbc4.jar应该适用于大多数应用程序。典型的连接字符串是:

jdbc:oracle:thin:user/xxxx@server:port:SID
jdbc:oracle:thin:user/xxxx@//server:port/XE
jdbc:oracle:thin:user/xxxx@:SID