症状
配置 Microsoft OLE DB 提供程序使用 SERVER_ENCRYPT 身份验证连接到 IBM DB2 数据库 DB2 2.0。当您尝试连接到此数据库通过使用 IBM 的 DB2 数据库定义 SQL Server 链接的服务器时,您将收到以下错误︰
OLE DB 提供程序"DB2OLEDB"链接服务器"链接服务器名称"返回消息"内部 NetLib 错误"。 Msg 7303,级别 16 状态 1,服务器的服务器名称,行 1 无法初始化数据源对象的 OLE DB 提供程序"DB2OLEDB"链接服务器"链接服务器的名称。
出现此问题的时在不登录到 SQL Server 的系统的用户上下文下初始化 OLE DB 提供程序为 DB2 2.0 定义的链接的服务器的位置。如果使用链接的服务器的用户登录到 SQL Server 系统时,该链接的服务器可以成功地连接到 IBM DB2 数据库运行查询。
注意:此问题也会发生在某些情况下,SQL Server 链接服务器与不相关的。由未登录到 SQL Server 的系统的用户情况下,初始化使用的 OLE DB 提供程序为 DB2 2.0,则可能会出现这些情况。如果 OLE DB 提供程序为 DB2 2.0 配置为使用 DB2 身份验证方法不需要加密,例如服务器身份验证在不登录的用户不出现问题。原因
OLE DB 提供程序用于 DB2 使用 CryptoAPI DB2 连接字符串中指定 IBM DB2 凭据进行加密。在加密过程中,加密密钥被写入到用户的配置文件中。因为当用户没有登录到 SQL Server 系统未加载的用户配置文件,用户配置文件无法写入加密密钥。因此,当加密请求失败,则返回"内部 Netlib 错误"错误消息。
解决方案
修补程序信息
可以从 Microsoft 获得受支持的修复程序。然而,此修补程序仅用于解决本文中描述的问题。仅对出现这一特定问题的系统应用此修补程序。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个软件更新。
如果此修复程序可供下载,则在此知识库文章的顶部会出现“修补程序下载可用”部分。如果未显示此部分,请与 Microsoft 客户服务和支持部门联系以获取此修复程序。 注意:如果出现其他问题或需要任何故障诊断时,您可能需要创建单独的服务请求。对于不符合此特定的修补程序的其他支持问题和事项将照常收取费用。有关 Microsoft 客户服务和支持电话号码或创建单独的服务请求的完整列表,请访问下面的 Microsoft 网站︰http://support.microsoft.com/contactus/?ws=support注意:"提供修补程序下载"窗体显示获取此修复程序的语言。如果看不到您的语言,则修补程序没有那种语言的版本。
系统必备组件
对 DB2 2.0 安装要应用此修补程序,必须具有 OLE DB 提供程序。
重新启动信息
应用此修补程序后,不需要重新启动计算机。
注册表信息
您不需要更改注册表。
修补程序替换信息
此修补程序不替换任何其他修补程序。
修补程序文件信息
此修补程序仅包含解决本文列出的问题所需的那些文件。此修复程序可能不包含的所有文件,您必须将产品完全更新到最新版本。此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和为这些文件的时间以协调世界时 (UTC) 列出。当您查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,使用控制面板中的日期和时间项中时区选项卡。
(x86) 的 32 位版本
文件名称 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
---|---|---|---|---|---|
Db2oledb.dll |
7.0.3190.2 |
571,208 |
22-Oct-2009 |
18:14 |
x86 |
Microsoft.hostintegration.dataaccesslibrary.dll |
7.0.3190.2 |
2,426,768 |
22-Oct-2009 |
18:14 |
x86 |
Msdrda.dll |
7.0.3190.2 |
841,536 |
22-Oct-2009 |
18:13 |
x86 |
(x64) 的 64 位版本
文件名称 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
服务分支 |
---|---|---|---|---|---|---|
Db2oledb.dll |
7.0.3190.2 |
807,240 |
22-Oct-2009 |
18:15 |
x64 |
不适用 |
Microsoft.hostintegration.dataaccesslibrary.dll |
7.0.3190.2 |
2,426,768 |
22-Oct-2009 |
18:15 |
x86 |
不适用 |
Msdrda.dll |
7.0.3190.2 |
1,428,800 |
22-Oct-2009 |
18:15 |
x64 |
不适用 |
Db2oledb.dll |
7.0.3190.2 |
571,208 |
22-Oct-2009 |
18:14 |
x86 |
SYSWOW |
Msdrda.dll |
7.0.3190.2 |
841,536 |
22-Oct-2009 |
18:13 |
x86 |
SYSWOW |
安腾体系结构版本
文件名称 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
服务分支 |
---|---|---|---|---|---|---|
Db2oledb.dll |
7.0.3190.2 |
1,608,008 |
22-Oct-2009 |
18:15 |
IA-64 |
不适用 |
Microsoft.hostintegration.dataaccesslibrary.dll |
7.0.3190.2 |
2,426,768 |
22-Oct-2009 |
18:15 |
x86 |
不适用 |
Msdrda.dll |
7.0.3190.2 |
2,243,904 |
22-Oct-2009 |
18:15 |
IA-64 |
不适用 |
Db2oledb.dll |
7.0.3190.2 |
571,208 |
22-Oct-2009 |
18:14 |
x86 |
SYSWOW |
Msdrda.dll |
7.0.3190.2 |
841,536 |
22-Oct-2009 |
18:13 |
x86 |
SYSWOW |
状态
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。
详细信息
应用此修补程序后,OLE DB 提供程序为 DB2 2.0 将使用 CryptoAPI 代替默认的加密服务提供程序 (CSP)。默认 CSP 不写入到用户的配置文件的加密密钥。
有关如何配置 OLE DB 提供程序为 DB2 2.0 SERVER_ENCRYPT 作为 DB2 身份验证类型的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰916183有可用的更新,允许 OLE DB 提供程序对于 DB2 1.0 支持连接到一台 IBM DB2 计算机被配置为使用 KRB_SERVER_ENCRYPT 身份验证类型或 SERVER_ENCRYPT 身份验证类型 有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
用于描述 Microsoft 软件更新的标准术语的824684说明