我正在开发一个程序,它从本地机器读取文件并将其数据上传到Oracle数据库服务器。该程序将通过调度程序每2-3分钟执行一次,每次运行的输入文件平均为2-3个。我想知道我应该采取什么方法来创建数据库连接,以便它能够产生最小的性能影响。
谢谢,
向你问好,库纳尔
发布于 2014-11-22 05:40:09
使用连接池,它允许多个逻辑连接实例重用物理数据库连接,这些逻辑连接实例是物理连接的临时句柄。使用连接池数据源返回池连接,这就是封装物理数据库连接的内容。然后使用池连接返回JDBC连接实例(每次一个),每个实例充当临时句柄。下面是Oracle连接池的示例。
...
OracleConnectionPoolDataSource ocpds = new OracleConnectionPoolDataSource();
ocpds.setDriverType("oci");
ocpds.setServerName("dlsun999");
ocpds.setNetworkProtocol("tcp");
ocpds.setDatabaseName("816");
ocpds.setPortNumber(1521);
ocpds.setUser("scott");
ocpds.setPassword("tiger");
PooledConnection pc = ocpds.getPooledConnection();
Connection conn = pc.getConnection();
...发布于 2014-11-22 08:53:39
对于Oracle,您应该查看通用连接池(,UCP )。有关详细信息,请参阅01/java.112/e12265/toc.htm。
你基本上是用:
PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource();
pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
pds.setURL("jdbc:oracle:thin:@//localhost:1521/XE");
pds.setUser("<user>");
pds.setPassword("<password>");
pds.setInitialPoolSize(5);
Connection conn = pds.getConnection();https://stackoverflow.com/questions/27074410
复制相似问题