[英]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.