2017-04-05 79 views
0

我想連接到oracle數據庫11g xe在oracle sql developer但是我得到這個異常:**錯誤連接:密封違規:包oracle.net.ns密封..... **密封違規:包oracle.net.ns是密封的

我已經四處搜尋,但得不到幫助,任何一個幫助嗎?

+0

你能顯示你的代碼嗎? – tbone

+0

review this:http://stackoverflow.com/questions/4922369/java-security-exception-sealing-violation-while-trying-to-connect-to-database – nevsv

回答

0

從甲骨文本文檔:Known Issues and Limitations

java.lang.SecurityException異常:密封衝突異常(ID 6554602)

說明

使用JDBC驅動程序10.2開始,在CLASSPATH中有多個JDBC文件可能會導致java.lang.SecurityException異常: 密封違規異常。

解決方案 (由Oracle建議)請確保CLASSPATH包括 只有一個JDBC驅動程序JAR文件。

而這個論壇:SecurityException: sealing violation from Class.forName

的密封違反意味着從密封的包裝一些類是 從兩個不同的位置(目錄或jar文件)加載。

密封包裝是一個基本上說:「我知道,所有的類 此包來自同一個jar文件,因爲安全原因沒有 其他位置可以提供在這個包中的類」。

很可能在類路徑中有兩個Oracle JDBC驅動程序jar。

因此,請確保您的類路徑中沒有多個Oracle JDBC驅動程序jar庫。

+0

C:\ Users \ aVinci> ECHO%CLASSPATH% C:\ ProgramData \ ORACLE \的Java \ javapath; C:\ WINDOWS \ SYSTEM32; C:\ WINDOWS; C:\ WINDOWS \ SYSTEM32 \ WBEM; C:\ WINDOWS \ SYSTEM32 \ WindowsPowerShell \ V1.0 \; C:\ PROGRAM Files \ Java \ jdk1.8.0_111 \ lib; C:\ Program Files \ Java \ jre1.8.0_111 \ lib; C:\ Users \ aVinci \ AppData \ Local \ Android \ Sdk \ platform-tools; C:\ Users \ aVinci \應用程序數據\本地\ Android的\ SDK \工具;. –

+0

@VinciADePaul:檢查包含在這些不同位置的罐子。 – Berger

0

它發生在CLASSPATH中有多個JDBC jar文件時。

+0

@berger這是我的類路徑,沒有jar文件: C:\ Users \ aVinci> ECHO%CLASSPATH% C:\ ProgramData \ Oracle \ Java \ javapath; C:\ WINDOWS \ system32; C:\ WINDOWS; C:\ WINDOWS \ System32 \ Wbem; C:\ WINDOWS \ System32 \ WindowsPowerShell \ v1.0 \; C:\ Program Files \ Java \ jdk1.8.0_111 \ lib; C:\ Program Files \ Java \ jre1。 8.0_111 \ lib中; C:\用戶\ aVinci \應用程序數據\本地\ Android的\ SDK \平臺工具; C:\用戶\ aVinci \應用程序數據\本地\ Android的\ SDK \工具;. –

+0

確保Oracle SQL Developer類路徑在運行它的命令行上未定義爲-cp選項。此外,CLASSPATH環境變量中列出的目錄可能包含jdbc驅動程序。 – gile