From c287f44975d1750fb3e4b6a52f1b3f274bff9cea Mon Sep 17 00:00:00 2001 From: wenshao Date: Sun, 17 Jul 2011 03:22:04 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=88=9D=E5=A7=8B=E5=8C=96co?= =?UTF-8?q?nnectionValidateChecker=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://code.alibabatech.com/svn/druid/trunk@450 b9813039-fb51-4c41-a8b9-e21c2acb5095 --- .../com/alibaba/druid/pool/DruidDataSource.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 52e8fbf783..94b598cc3e 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -172,17 +172,22 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat this.dbType = JdbcUtils.getDbType(jdbcUrl, driverClass.getClass().getName()); - if ("mysql".equals(dbType)) { + String realDriverClassName = driver.getClass().getName(); + if (realDriverClassName.equals("com.mysql.jdbc.Driver")) { this.validConnectionChecker = new MySqlValidConnectionChecker(); this.exceptionSoter = new MySqlExceptionSorter(); - } else if ("oracle".equals(dbType)) { + + } else if (realDriverClassName.equals("oracle.jdbc.driver.OracleDriver")) { this.validConnectionChecker = new OracleValidConnectionChecker(); this.exceptionSoter = new OracleExceptionSorter(); - } else if ("sqlserver".equals(dbType)) { + + } else if (realDriverClassName.equals("com.microsoft.jdbc.sqlserver.SQLServerDriver")) { this.validConnectionChecker = new MSSQLValidConnectionChecker(); - } else if ("informix".equals(dbType)) { + + } else if (realDriverClassName.equals("com.informix.jdbc.IfxDriver")) { this.exceptionSoter = new InformixExceptionSorter(); - } else if ("sybase".equals(dbType)) { + + } else if (realDriverClassName.equals("com.sybase.jdbc2.jdbc.SybDriver")) { this.exceptionSoter = new SybaseExceptionSorter(); }