【发布时间】:2018-12-28 02:44:03
【问题描述】:
我安装了 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)
【问题讨论】:
-
你的java版本是多少? (已安装 jdk)
-
它的 jdk1.8.0_181
-
ojdbc6 适用于 JDK1.6 也许这是你的问题,使用 ojdbc7 oracle.com/technetwork/topics/jdbc-faq-090281.html#01_03_1
标签: java oracle intellij-idea oracle11g plsqldeveloper