2012-04-15 4 views
1

データベース科目については非常に新しく、Netbeansからの接続でいくつかの初心者のことをしようとしています。しかし、私は私の接続をテストするとき私はいくつかのエラー(私はこのエラーを検索したが、何も理解できなかった)に直面している。私はOracle 10g Express Database Editionをインストールし、ojdbc6.jarOracle Thinとしてダウンロードしました。私の単純なコードは、ドライバのバージョンをテストするためだけです。ORA-12505、TNS:リスナーは現在、接続記述子で指定されているSIDを認識していません。

import java.sql.*; 
import oracle.jdbc.pool.OracleDataSource; 

    class JDBCVersion 
    { 
     public static void main (String args[]) throws SQLException 
     { 
     OracleDataSource ods = new OracleDataSource(); 
     ods.setURL("jdbc:oracle:thin:@localhost:1521:XE [hr on HR]"); 
     Connection conn = ods.getConnection(); 

     // Create Oracle DatabaseMetaData object 
     DatabaseMetaData meta = conn.getMetaData(); 

     // gets driver info: 
     System.out.println("JDBC driver version is " + meta.getDriverVersion()); 
     } 
    } 

と私は、このデータベースのものについて初心者です、あなたが説明して助けることができる場合、私は非常に喜んでいるでしょう言ったように私は

Exception in thread "main" java.sql.SQLException: Listener refused the connection with the following error: 
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 

を取得します。ここに感謝とにかく

答えて

4

は、Oracle Databaseに接続する方法についてのコードです:ユーザー名とパスワードは、それに応じて変更する必要が

public class JDBCVersion { 

    public static void main(String[] args) { 
    try { 
     Class.forName("oracle.jdbc.OracleDriver"); 
    } catch (ClassNotFoundException e) { 
     e.printStackTrace(); 
     return; 
    } 
    Connection connection = null; 
    try { 
     connection = DriverManager.getConnection(
       "jdbc:oracle:thin:@localhost:1521:XE", "username", 
       "password"); 
    } catch (SQLException e) { 
     e.printStackTrace(); 
     return; 

    } 
} 

。また、Oracle 10gをインストールした場合、適切なバージョンはojdbc14.jarになります。

+0

うわー!どうもありがとう。 ojdbc14ライブラリはojdbc6 _との重要な違いがありますか? – quartaela

+0

実際にはojdbc6.jarは動作しますが、実際はOracle 11gのドライバです。あなたがOracle 10g – Ravi

+0

を使用しているので正しいバージョンを使用する方がいいです。それではojdbc14をインストールします。また助けてくれてありがとう – quartaela

関連する問題