gpt4 book ai didi

java - 线程 "main"java.lang.NoClassDefFoundError : oracle/jdbc/OracleShardingKeyBuilder 中的异常

转载 作者:行者123 更新时间:2023-11-30 06:48:16 27 4
gpt4 key购买 nike

我正在尝试从数据库池中获取数据库连接。以下是我的源代码,它在运行时返回“java.lang.NoClassDefFoundError: oracle/jdbc/OracleShardingKeyBuilder”。但是我已经导入了 ucp.jar 文件。

请帮我解决这个问题。

private static PoolDataSource pds = null;
private static Connection conn = null;

public static synchronized Connection getConnectionFromPool() throws Exception {
String print;
String nl = "\r\n";
try {
pds = PoolDataSourceFactory.getPoolDataSource();
System.out.println(CommonInfo.url);
System.out.println(CommonInfo.uName);
pds.setURL(CommonInfo.url);
pds.setUser(CommonInfo.uName);
pds.setPassword(CommonInfo.uPassword);
pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");

//Setting pool properties
pds.setInitialPoolSize(5);
pds.setMinPoolSize(5);
pds.setMaxPoolSize(20);

int usedConnctionCount = pds.getBorrowedConnectionsCount();
int AvailableConnctionCount = pds.getAvailableConnectionsCount();

int totalCount = usedConnctionCount + AvailableConnctionCount;


if (AvailableConnctionCount != 0) {

conn = pds.getConnection();
conn.setAutoCommit(true);

usedConnctionCount = pds.getBorrowedConnectionsCount();
AvailableConnctionCount = pds.getAvailableConnectionsCount();

totalCount = usedConnctionCount + AvailableConnctionCount;


return conn;
} else {
print = "All connections in the database pool are now busy...";
System.out.println(print);
throw new Exception("All connections in the database pool are now busy.");
}
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}

异常(exception):

Exception in thread "main" java.lang.NoClassDefFoundError: oracle/jdbc/OracleShardingKeyBuilder
at oracle.ucp.jdbc.PoolDataSourceFactory.getPoolDataSource(PoolDataSourceFactory.java:48)

最佳答案

您缺少驱动程序 jar 文件。您需要下载正确版本的 jar 并将其放在 classpath 中。这是来自支持的 oracle 文档:

在 12c(即 12.1.0.1.0)之前,UCP 可以与任何版本的 Oracle JDBC 驱动程序一起使用。对于新池 UCP 12.1.0.2,它依赖于 Oracle JDBC 驱动程序 12.1.0.2。示例:12.2.0.1 ucp.jar 需要来自 12.2.0.1 的 ojdbc8.jar。 Oracle 建议将 ucp.jar 和 JDBC 驱动程序保持在同一版本。

关于java - 线程 "main"java.lang.NoClassDefFoundError : oracle/jdbc/OracleShardingKeyBuilder 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44491835/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com