JDBC中Class12.jar和ojdbc14.jar的区别
文章分类:数据库
最近在项目中仅常遇到,在这家客户那里邮件发送没问题,可是跑到另外一家客户那里缺发不出去,觉得很奇怪,通过一番折腾之后,把问题落在了Oracle JDBC Driver上,因为在客户现场,用的oracle版本不统一,有些客户使用的是oracle9i,有些使用的是Oracle10g,但是项目中同意使用了ojdbc14.jar做为驱动,那当然就有问题了,以下列出在2个驱动之间的区别:
1.oracle10g中将中文字符解析为3个字节,oracle9i中保留为2个字节,在插入时常常会因为这个问题而造成数据插入失败、超常
2.在处理大字符集的时候,同样存在字符限制,class12只能支持到3000左右吧,ojdbc14可以支持到更长
============================================================================================================================
package com.bonson.common.tool;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import com.bonson.common.log4j.Log4jInit;
/**
* 数据库操作类
*
* @classname DataBaseConn
*
* @author linzhou
*
* @version v1.0
*
* @date 2010-4-7
*
* @copyrigth bonson
*/
public class DataBaseConn
{
private static final long serialVersionUID = 8280428586539580616L;
/**
* 创建数据库连接
*
* @return Connection对象
*/
public Connection getConn()
{
Connection conn = null;
try
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.12.208:1521:orcltech","fjcars","fjcars09");
}
catch (Exception e)
{
Log4jInit.logger(DataBaseConn.this).error("getConn:" + e.toString());
this.closeConn(conn, null, null, null);
}
return conn;
}
/**
* 关闭连接
*
* @param conn
* Connection对象
* @param stmt
* Statement对象
* @param rs
* ResultSet对象
* @param cs
* CallableStatement对象
*/
public void closeConn(Connection conn, Statement stmt, ResultSet rs, CallableStatement cs)
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (stmt != null)
{
stmt.close();
stmt = null;
}
if (cs != null)
{
cs.close();
cs = null;
}
if (conn != null)
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
Log4jInit.logger(DataBaseConn.this).error("closeConn:" + e.toString());
}
}
}
配置文件
#oracle
jdbc.driverClassName=oracle.jdbc.OracleDriver
#jdbc.url=jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.46.51.196)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 10.46.51.198)(PORT = 1521))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = acsdb)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5))))
#jdbc.username=wcity
#jdbc.password=wcity#wcity
jdbc.url=jdbc:oracle:thin:@172.16.16.52:1521:wcitydb
jdbc.username=wcity2
jdbc.password=wcity2
cpool.checkoutTimeout=5000
cpool.minPoolSize=20
cpool.maxPoolSize=50
cpool.maxIdleTime=7200
cpool.maxIdleTimeExcessConnections=1800
cpool.acquireIncrement=10
分享到:
相关推荐
### Connection 和 PreparedStatement 的关闭问题 在Java编程语言中,处理数据库连接及执行SQL语句时,合理地管理和释放资源是非常重要的。本文将详细介绍`Connection`和`PreparedStatement`的使用时机与关闭策略,...
ADODB Connection 对象简介 ADODB Connection 对象是 ActiveX Data Objects(ADO)中最基本的对象之一,它提供了连接数据库、执行 SQL 语句、处理结果集等功能。下面是关于 ADODB Connection 对象的详细介绍。 ...
Series Skylight Connection Manager和Sierra Wireless Aircard Watcher是两个与无线通信设备管理相关的软件工具,主要用于管理和监控Sierra Wireless公司的Aircard系列移动宽带调制解调器。这两个软件在功能上可能...
### Connection对象的Execute方法 在数据库编程中,`Connection`对象是与数据库建立连接的关键组件。通过`Connection`对象,可以执行SQL语句、存储过程等操作,从而实现对数据库的读写。其中,`execute`方法是`...
标题中的"jdbc-mysql-connection"关键词表明我们讨论的主题是关于Java数据库连接(JDBC)与MySQL数据库之间的交互。JDBC是Java平台上的一个标准接口,它允许Java应用程序与各种类型的数据库进行通信,包括MySQL。...
根据给定的文件信息,我们可以总结出以下关于SQL数据库连接(Connection)的相关知识点: ### SQL数据库连接(Connection)概述 在Java中,`Connection`对象是JDBC API的核心组件之一,用于与数据库建立连接。它是...
标题:“Software caused connection abort: recv failed” 描述:“Software caused connection abort: recv failed” 知识点解析: ### 背景介绍 “Software caused connection abort: recv failed”这一错误...
"connection_manager"是Openfire中的一个重要组件,它的主要职责是管理客户端与服务器之间的连接。 在Openfire的架构中,`connection_manager`扮演着关键角色,它负责优化和维护客户端的连接状态。XMPP协议允许...
在Lotus Connection 2.01上配置在线感知功能,是为了实现与Lotus Sametime的无缝集成,使得用户在登录Sametime的同时,其在线状态能够被Connection捕获和显示。这样,用户可以在Connection环境中实时了解到其他联系...
根据给定的文件信息,可以提炼出以下关于Cisco Unity Connection的IT知识点: 1. Cisco Unity Connection简介:Cisco Unity Connection是思科公司提供的一种统一通信解决方案,它集成了呼叫处理、语音邮件和个人...
【Intel(R) Ethernet Connection X722 for 1GbE】是英特尔公司为1千兆以太网(1GbE)设计的一款网卡驱动程序,主要用于联想服务器产品。这款驱动程序专为Intel的X722芯片组设计,旨在提供稳定、高效的网络连接性能,...
QMI拨号工具ConnectionManager是一款专门用于通过QMI(Quality Management Interface)接口进行网络连接管理的应用程序。在深入了解这个工具之前,我们先来认识一下QMI协议和它在网络通信中的作用。 QMI是高通公司...
代码如下:Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0 很明显这是连接初始化阶段就丢失了连接的错误。 google半天大多是说的注释掉配置文件中 bind-address = ...
数据库连接池ConnectionPool的实现和配置 数据库连接池(Database Connection Pool)是一种提高数据库访问效率的技术,通过重用已经创建的数据库连接来减少创建新连接的开销。下面是一个使用Java语言实现的数据库...
"java.net.SocketException Connection reset 解决方法" 在 Java 编程中,SocketException 是一种常见的异常,特别是在网络编程中。Conexion reset by peer 是一种特殊的 SocketException,它发生在客户端和服务器...
mount.nfs: Connection timed out
ADODB.Connection对象是ADODB库的核心部分,它负责建立与数据源的连接。在使用ADODB.Connection时,正确构造连接字符串是至关重要的一步,这将决定着应用程序能否成功地与数据库建立通信。 ### 连接字符串详解 ...
解决oracle数据库发生'Connection reset by peer' or 'Connection reset'的错误 这边的数据库连接是kettle自带的h2数据库,只要有kettle就有这个数据库,目录位于data-integration\samples\db\,连接方式是 ...
《Delphi技术在ConnectionServer中的应用详解》 在IT领域,Delphi是一种广泛使用的集成开发环境(IDE),它以其高效、简洁的编程语法和强大的Windows应用程序开发能力而闻名。本篇文章将深入探讨“ConnectionServer...