OracleDataSourceFactory,OracleConnectionPoolDataSource和OracleDataSource有什么区别?

问题描述

OracleDataSourceFactoryOracleConnectionPoolDataSourceOracleDataSource有什么区别?您将在哪种情况下使用它们?

解决方法

之所以会有OracleDataSourceOracleConnectionPoolDataSource是因为JDBC标准定义了两种连接类型:

OracleDataSourcejava.sql.Connection对象的工厂,它是应用程序广泛使用的数据源。另一方面,OracleConnectionPoolDataSource用于javax.sql.PooledConnection,并且仅在连接缓存实现中使用(例如,UCP)。

您可以放心地忽略OracleDataSourceFactory,它是构建Oracle不再升级的DataSource对象的构件。

使用19c Oracle JDBC驱动程序,您将像这样实例化数据源:

oracle.jdbc.datasource.OracleDataSource ds = oracle.jdbc.pool.OracleDataSource();

或者,如果您正在使用重放驱动程序(用于Application Continuity):

oracle.jdbc.datasource.OracleDataSource ds = oracle.jdbc.replay.OracleDataSourceImpl();

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...