不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK (一)SQL state [99999]; error code [17056]; 不支持的字符集 (在类路径中添
不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
详细报错内容:
使用 JDBC 连接oracle数据库时出现报错。示例代码如下:
DataSourceConnectionUtils.java
package com.example.jdbctemplateproject.utils;import java.sql.*;import java.util.HashMap;import java.util.Map;public class DataSourceConnectionUtils { public static void jdbcTest(String url, String username, String passWord) throws ClassNotFoundException, SQLException { //注册driver Class.forName("oracle.jdbc.driver.OracleDriver");//建立数据库连接对象 Connection conn = DriverManager.getConnection(url, username, password);//建立操作对象 Statement stmt = conn.createStatement();//结果集 ResultSet rs = stmt.executeQuery("select * from student"); while(rs.next()) { // 转换每行的返回值到 Map 中 System.out.println("id:" + rs.getLong("id") + ",name:" + rs.getString("name")); }//依次关闭结果集,操作对象,数据库对象 if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } public static void main(String[] args) { try { jdbcTest("jdbc:oracle:thin:@localhost:1521:orcl", "system", "*********"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }}
下面是已添加的Oracle驱动包、支持字符集的依赖包。
pom.xml
<dependency><groupId>com.oracle.database.jdbcgroupId><artifactId>ojdbc8artifactId><version>21.5.0.0version><scope>runtimescope>dependency><dependency><groupId>com.oracle.database.nlsgroupId><artifactId>orai18nartifactId><version>21.5.0.0version><scope>providedscope>dependency>
根据提示,报错是由于缺少字符集相关的 orai18n 依赖包所致。但是检查 pom.xml 文件,发现有配置 orai18n 依赖包。经排查测试,发现跟
标签内的取值有关。当 scope 取值为 provided、test (不支持运行期
)时,执行main方法会出现报错;当 scope 取值为 runtime、compile (支持运行期
)时,执行main方法不会出现报错。
将 scope 的值改为 runtime 或者 compile(当然,也可以直接将 scope标签去掉,系统会默认选择compile)。如下所示:
pom.xml
<dependency><groupId>com.oracle.database.nlsgroupId><artifactId>orai18nartifactId><version>21.5.0.0version><scope>compilescope>dependency>
参考资料
来源地址:https://blog.csdn.net/Shipley_Leo/article/details/130018181
--结束END--
本文标题: (二)java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
本文链接: https://lsjlt.com/news/394930.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0