【问题标题】:DB2 Client v9.5 on Win 2003 Taking Long time to establish ConnectionDB2 Client v9.5 on Win 2003 需要很长时间才能建立连接
【发布时间】:2009-08-22 03:06:57
【问题描述】:

我有一个在 Windows 2003 上运行的 ASP.NET 应用程序,它需要与驻留在大型机上的 DB2 数据库进行通信。我们在服务器上安装了 DB2 Client 驱动程序 v9.5,以便应用程序可以执行连接并使用数据库。连接数据库的连接字符串包含用户名和密码,不是可信连接。

明确地说,我们使用的是 DB2 .NET 提供程序,而不是 OLE DB、ODBC 等。

我们注意到,当 ASP.NET 应用程序尝试与 DB2 建立第一个连接时,需要很长时间,大约 20 秒。在与我们的一位常驻 DBA 交谈后,他们说这可能是因为 DB2 驱动程序正试图针对 Active Directory 对用于连接数据库的用户帐户进行身份验证。

他们对此的解决方案是在 Win2003 服务器上创建一个本地用户帐户,其名称与用于建立连接的用户帐户名称相同。本地用户帐户不必是任何 acl 组的成员,它可以被禁用。

我尝试了这个解决方案,令我惊讶的是,它确实有效。连接是在几毫秒内完成的。我担心的是这个“特性”似乎是 DB2 驱动程序中的一个缺陷,而且这个驱动程序的任何新版本实际上都可能阻止它再次工作。

有谁知道我们可以设置的 DB2 驱动程序中是否有一个实际设置,因此它不会尝试使用 Active Directory 进行身份验证?使用该设置,而不是依赖在我看来,他们的身份验证算法中的缺陷,我会感觉更自在。

谢谢

顺便说一句,在服务器故障上也提出了同样的问题,但是,没有人能够在那里回答。

https://serverfault.com/questions/53971/db2-client-v9-5-on-win-2003-taking-long-time-to-establish-connection

【问题讨论】:

    标签: .net db2


    【解决方案1】:

    DB2 没有“仅限数据库”用户标识的概念,并且将始终使用操作系统来执行身份验证。如果您的操作系统身份验证是通过 Active Directory 进行的,那么 DB2 也将采用这种方式进行身份验证。

    我认为您的 DBA 已通过更改操作系统中的设置/帐户为您提供了正确的解决方案,从而使身份验证更容易。

    我不认为这是驱动程序的缺陷。

    【讨论】:

      【解决方案2】:

      我们的 DBA 刚刚找到了合适的解决方案,并且无需添加该本地用户即可工作。

      基本上,当您对 DB2 应用程序服务器上的连接进行编目时,您必须指定类似“身份验证服务器”之类的内容。这可以防止 DB2 驱动程序针对 Active Directory 进行身份验证。

      我知道答案很模糊,但这是我能从他身上得到的最多。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-08
        • 2021-12-06
        • 1970-01-01
        • 2020-01-12
        • 2016-02-24
        • 1970-01-01
        相关资源
        最近更新 更多