2

私の問題は、私が示した例外ブロックにあります。GUI(PL/SQL開発者)を使用して接続できますが、Webアプリケーションを使用して接続を取得中にEclipsedlinkが例外を取得しています。私を助けてください。前もって感謝します。

私は ojdbc14.jar を使用しています。通常の java(core) を使用して接続していますが、Eclipse リンクだけではこの問題が存在します。

Tesing.java :

        String URL = "jdbc:oracle:thin:@IP:1521:devt2x";
        String USER = "username";
        String PASS = "password";
        Class.forName("oracle.jdbc.driver.OracleDriver");
        conn = DriverManager.getConnection(URL, USER, PASS);
        if(conn != null)
            System.out.println("connects");
        else
            System.out.println("not connects");

ouput :

connects

tnsnames.ora

CHENNAIDB.WORLD =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1526))
    )
    (CONNECT_DATA =
      (SID = devt2x)
    )
  )

Persistence.xml

<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver" />
<property name="javax.persistence.jdbc.url"
                value="jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS=(PROTOCOL = TCP)(HOST = IP)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME =  devt2x)(SERVER = DEDICATED)))" />
            <property name="javax.persistence.jdbc.user" value="username" />
            <property name="javax.persistence.jdbc.password" value="password" />

例外が発生しています:マッピングに問題はありません

[EL Finer]: 2012-11-20 11:39:39.021--ServerSession(2693887)--Thread(Thread[main,5,main])--DriverManager connect failed, trying direct connect.
[EL Finer]: 2012-11-20 11:39:39.021--ServerSession(2693887)--Thread(Thread[main,5,main])--java.sql.SQLException: ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux Error: 13: Permission denied
4

1 に答える 1

2

ほとんどの場合、これはパーミッションの問題であり、ORACLE_HOME へのパーミッションを oracle というユーザー (または Oracle データベースのインストール用に作成した os ユーザー) に提供することによって解決する必要があります。

詳細はこちら

于 2012-11-20T06:54:21.440 に答える