创建数据库连接的方法

时间:2014-11-22 05:28:57

标签: java oracle jdbc

我正在开发一个程序,它从本地机器读取文件并将其数据上传到Oracle数据库服务器。该程序将通过调度程序每2-3分钟执行一次,每次运行平均有2-3个输入文件。 我想知道我应该采取什么方法来创建数据库连接,以便产生最小的性能影响。

谢谢,

最诚挚的问候, 库纳尔

2 个答案:

答案 0 :(得分:0)

对于Oracle,您应该查看通用连接池,UCP。有关详细信息,请参阅https://docs.oracle.com/cd/E11882_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();

答案 1 :(得分:-1)

使用连接池,它允许多个逻辑连接实例重用物理数据库连接,这些实例是物理连接的临时句柄。使用连接池数据源返回池连接,这是封装物理数据库连接的连接。然后使用池化连接返回每个充当临时句柄的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();
...