Oracle花了太长时间才能返回无效的用户名/密码错误

时间:2012-04-11 03:56:53

标签: oracle jdbc connection

我们有一个场景,它需要大约10秒才能让应用程序花费大约10秒来从Application Server获取SQL异常(声明登录被拒绝,因为用户ID /密码组合无效)。

我写了一个小的java应用程序只是为了直接启动sql连接。

公共类TestUsingJ2SE {

/**
 * @param args
 */
public static void main(String[] args) {

    Date start = new Date();

    Connection conn = null;

    Date end = new Date();

    Properties connectionProps = new Properties();
    connectionProps.put("user", "ivr_cds");
    connectionProps.put("password", "something");

    start = new Date();

    try {
        String url = "jdbc:oracle:thin:@localhost:1521:XE";
        DriverManager.getDriver(url);
        conn = DriverManager.getConnection(url, connectionProps);
    } catch (Exception e) {
        System.out.println("Driver Manager --> error ..." + e.getMessage());
    }

    end = new Date();

    System.out.println("Using Driver Manager ..");
    System.out.println("Started at:" + start + " and finished at:" + end);
    System.out.println("Duration :" + (end.getTime() - start.getTime()));

}

}

我们发现oracle仍然需要10秒才能返回无效/用户名密码错误。我用来连接oracle的jar是ojdbc5.jar(JAVA 5版本),因为我们的环境是在WAS 6.1.2上。

当我使用ojdbc6.jar(JAVA 6版本)并运行上述程序时,oracle在600ms内返回无效的用户名/密码。

为什么会发生这种情况的任何线索以及Oracle中是否有一些参数可用于快速获取和错误,而不是10秒延迟。

提前致谢。 拉夫

0 个答案:

没有答案