DBプールからDB接続を取得しようとしています。次にソースコードを示し、実行時に "java.lang.NoClassDefFoundError:oracle/jdbc/OracleShardingKeyBuilder"を返します。しかし、私はucp.jarファイルをインポートしました。スレッド "main"の例外java.lang.NoClassDefFoundError:oracle/jdbc/OracleShardingKeyBuilder
問題を解決するのを手伝ってください。
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 in thread "main" java.lang.NoClassDefFoundError: oracle/jdbc/OracleShardingKeyBuilder
at oracle.ucp.jdbc.PoolDataSourceFactory.getPoolDataSource(PoolDataSourceFactory.java:48)
あなたはどのバージョンのjarをインポートしましたか? – Akshay
oracleサイトからOracle Database 11gリリース2(11.2.0.4)UCP Downloadをダウンロードしました。 – dmaprasad