簡體   English   中英

無法使用 IntelliJ 連接到 oracle 數據庫,無法識別區域設置

[英]Can't connect to oracle database with IntelliJ, Locale not recognized

我安裝了Oracle Database 11g Express Edition,可以正常使用PLSQL Developer連接本地數據庫,但是無法連接IntelliJ。 它說無法識別區域設置。

在此處輸入圖片說明

在這里搜索了一些類似的問題后,解決方案是手動更改機器語言環境,我這樣做並重新啟動,但它仍然不起作用。 而且我確信它真的改變了,因為現在,這行java代碼: System.out.println(Locale.getDefault())打印了en_US

現在我真的不知道問題出在哪里,為什么 PLSQL 有效而 IntelliJ 無效。

我使用 ojdbc6.jar 進行連接。

當我嘗試與下面的 java 代碼連接時,拋出了相同類型的異常。

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "SYSTEM", "password");

例外:

Exception in thread "main" java.sql.SQLException: Locale not recognized
    at oracle.jdbc.driver.T4CTTIoauthenticate.setSessionFields(T4CTTIoauthenticate.java:1006)
    at oracle.jdbc.driver.T4CTTIoauthenticate.<init>(T4CTTIoauthenticate.java:238)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:401)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at data_coonnections.DataConnector.main(DataConnector.java:15)

另外將格式(在控制面板 -> 時鍾和區域 -> 區域 -> 格式)更改為英語(美國)確實有幫助。

您可以轉到“高級”選項卡(參見您發布的圖片),然后轉到“ VM 選項:”字段,而不是更改操作系統的區域設置。 輸入-Duser.language=en -Duser.region=US

您還可以設置-Duser.region=UK或可識別的任何區域。

JDBC 瘦驅動程序使用 Java 的區域設置來更改您的數據庫會話語言。 例如,我是法國人,我住在法國,當我從本地系統連接到美國的數據庫時,我的數據庫會話是法語。 為什么? 那是因為我的語言環境是這樣配置的。 如果 Oracle 無法識別您的區域設置,您始終可以將默認區域設置覆蓋為其他內容。

暫無
暫無

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

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