4

我正在使用 Oracle ODP.Net 11.2.0.2 提供程序连接到 Oracle 数据库。当我将以下代码作为控制台应用程序运行时,OracleConnection 对象的创建需要 2 分钟以上:

using System;
using Oracle.DataAccess.Client;

namespace OracleConnectionTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Creating connection...");
            OracleConnection conn = new OracleConnection("Data Source=mydatabase;User Id=myuserid;Password=mypassword");

            Console.WriteLine("Opening connection...");
            conn.Open();

            Console.WriteLine("Closing connection");
            conn.Close();

            Console.WriteLine("Done");
        }
    }
}

无论我是从命令行还是从 Visual Studio 运行控制台应用程序,都会出现缓慢的创建。但是,如果我在启用调试器的情况下运行它(使用 F5),它会运行得非常快。如果我将 .Net 项目编译为 64 位(并使用 64 位 Oracle 客户端),它会运行得很快。如果我在 Windows 服务应用程序中创建连接并启动服务,它会快速连接。一位同事能够在安装相同的 32 位客户端的情况下运行相同的代码,并且对他来说运行速度很快。

我的环境必须有一些独特的东西导致速度变慢。我在哪里可以确定正在发生的事情?

4

1 回答 1

5

尝试在您的 Oracle 主目录中创建“log\diag\clients”目录结构。请参阅此博客文章- 博主遇到了与您相同的问题,并通过创建该目录结构解决了它。

于 2013-02-21T19:59:14.650 回答