Win 2003上的DB2 Client v9.5花费很长时间来build立连接

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

清楚的是,我们使用的是DB2 .NET提供程序,而不是OLE DB,ODBC等。

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

他们的解决scheme是在Win2003服务器上创build一个本地用户帐户,名称与用于build立连接的用户帐户相同。 本地用户帐户不必是任何acl组的成员,并且可以被禁用。

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

有谁知道在我们可以设置的DB2驱动程序中是否有实际的设置,所以它不会尝试使用Active Directory进行身份validation? 我觉得使用这个设置会比使用这个设置感觉更舒适,而对于我来说,在他们的authenticationalgorithm中是一个缺陷。

谢谢

在db2客户端configuration设置中,有多个用于身份validation的选项。 关于选项的描述很混乱。 缺省值是“在服务器dbm config中使用authentication定义”。 在客户端上,“servers dbm config”确实意味着本地机器。 如果您的本地计算机是微软窗口,则连接将尝试使用默认的身份validation方法对身份validation进行身份validation。 如果默认是活动目录,那么事情会变得非常缓慢。 一旦从Windows返回(好的或坏的),它将尝试使用ID / passwd连接到db2。 这就是为什么你的DBA说用“使用服务器authentication”来编目连接。 混合中也有一个错误。 如果你使用odbc,它可能会尝试去域控制器,并修复一个本地ID将是必需的。

我们的DBA只是find了合适的解决scheme,而且不需要添加本地用户就可以工作。

基本上,当您在DB2应用服务器上编目连接时,您需要指定类似“validation服务器”的内容。 这会阻止DB2驱动程序对Active Directory进行身份validation。

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