簡體   English   中英

連接 Oracle 10g Express Edition 和 Java

[英]connecting Oracle 10g Express Edition and Java

我想連接Oracle 10g Express Edition和Java,我遵循的步驟是:

使用以下文件配置我的類路徑:

C:\\oraclex\\app\\oracle\\product\\10.2.0\\server\\jdbc\\lib\\ojdbc14.jar

C:\\Program Files\\Java\\jdk1.7.0_01\\bin

C:\\oraclex\\app\\oracle\\product\\10.2.0\\server\\BIN

然后我嘗試了以下程序將其與 OCI 驅動程序連接:

import  java.sql.*;

public class OracleOCIConnection
{
   public static void main(String args[])
   {
      try
      {
      // load oracle driver
         Class.forName("oracle.jdbc.driver.OracleDriver");
      // connect using Native-API (OCI) driver
         Connection con = DriverManager.getConnection("jdbc:oracle:oci8:@","hr","hr" );
         System.out.println("Connected Successfully To Oracle using OCI driver");
         con.close();
      }
         catch(Exception ex)
         {
            ex.printStackTrace();
         }
   }
}

並且還使用 Thin 驅動程序:

import  java.sql.*;

public class OracleThinConnection
{
   public static void main(String args[])
   {
      try
      {
      // load oracle driver
         Class.forName("oracle.jdbc.driver.OracleDriver");
      // connect using Thin driver
         Connection con =  DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
         System.out.println("Connected Successfully To Oracle");
         con.close();
      }
         catch(Exception ex)
         {
            ex.printStackTrace();
         }
   }
}

在這兩種情況下,程序都會編譯,但拋出錯誤的行是:

Class.forName("oracle.jdbc.driver.OracleDriver");

有什么幫助嗎? 謝謝

首先,從類路徑中刪除C:\\Program Files\\Java\\jdk1.7.0_01\\bin 它與它無關。

其次,問題在於您的運行時類路徑。 請記住,編譯時類路徑和運行時類路徑是兩個不同的東西。 您是否使用 IDE(例如 Eclipse)來運行它? 如果是這樣,請檢查哪些類路徑條目在運行時生效。 在 Eclipse 中,您可以通過查看為運行您的應用程序而創建的啟動配置來獲取此信息(請參閱“類路徑”選項卡)。

如果您通過命令行設置類路徑,則Program Files中的空白可能是問題所在。 嘗試用引號將整個類路徑參數括起來。

我正在使用 ojdb6.jar 而不是 ojdbc14.jar,它對我來說很好用,這是我的代碼

try{
            Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
            String dbAddress = "localhost";
            Connection con = DriverManager.getConnection("jdbc:oracle:thin:hr/hr@"+dbAddress+":1521/XE");

            if(!con.isClosed()){
                System.out.println("Connection Successful");
            }else{
                System.out.println("Connection is Closed);
            }
        }
        catch(Exception ex){
            System.out.println("Error :"+ex.getMessage());
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM