【问题标题】:Linked Server from SQL Server 2012 to AIX DB2 via SSL通过 SSL 从 SQL Server 2012 到 AIX DB2 的链接服务器
【发布时间】:2014-11-17 14:16:02
【问题描述】:

我需要在 AIX 上创建一个从 SQL Server 2012 到 IBM DB2 (9.x) 的链接服务器。创建与 SSL 的连接是一项强制性要求。

我尝试使用“Microsoft® OLEDB Provider for DB2 v4.0 for Microsoft® SQL Server® 2012”,但我无法通过 MS OLEDB 的数据访问工具连接到 DB2。

后来我安装了 IBM DB2 客户端工具和 GSKIT,我可以通过 SSL 连接到 DB2。安装还附带了连接提供程序“IBM OLE DB Provider for DB2”。问题是我无法创建链接服务器。

我总是收到错误消息

无法为链接的服务器“mydb2”创建 OLEDB 提供程序“IBMDADB2.DB2COPY1”的实例(Microsoft SQL Server,错误 7302)

在某些讨论中提到使用特定的提供程序字符串,但在这种情况下,提供程序字符串的字段是灰色的。

我只有产品名称和数据源的选项。数据源 == 连接的数据库名称是否来自 IBM BD2 客户端工具?我应该使用什么作为数据源?

【问题讨论】:

  • 您的 DB2 数据源是否以名称“damndb2”显示在 Windows ODBC 数据源管理器中?
  • 我可以将damndb2与odbc连接(至少在CLI/ODBC设置中我有一个按钮“连接”返回“连接testet成功”。在绑定CLI/ODBC支持实用程序中显示一个日志表示 SQL0551N 未给出执行时的授权或权限。
  • 我问的是 Windows ODBC 数据源管理器
  • 是的,我使用的是 Windows ODBC 数据源管理器。创建一个新的 SYSTEM DSN。在那里我可以选择 DB2 客户端工具附带的驱动程序。我可以给出数据源名称和数据库别名,这已经预先选择了......

标签: sql-server-2012 datasource oledb linked-server db2-luw


【解决方案1】:

好的,我可以解决问题并想分享解决方案。

提到的提供程序 IBMDADB2.DB2COPY1 来自 IBM DB2 客户端工具的安装。

在服务器对象 --> 链接服务器 --> 右键单击​​新服务器,您可以选择提供程序。使用“IBM OLE DB Provider for DB2 - DB2COPY1”可以访问已配置的连接(包括 SSL 密钥),数据源字段显示为灰色。

成功创建到 DB2 的链接服务器的关键不是人,而是脚本。即使在 GUI 中显示为灰色,您也可以使用提供者字符串信息。

EXEC master.dbo.sp_addlinkedserver @server = N'MyLinkedServer', @srvproduct=N'IBMDADB2',
   @provider=N'IBMDADB2', @provstr= N'HOSTNAME=hosturl;Port=12345;
      DATABASE=DBinDB2Client;UID=ItsMe;Pwd=secret;Security=SSL;', @datasrc=N'DBinDB2Client'

瞧,您可以看到链接服务器将成功创建并可以访问 DB2 数据库。问题解决了。

__

编辑:

链接服务器只能!由它的创建者使用。如果其他用户想要访问服务器,他们会得到这个错误:

无法为链接服务器“MyDB2”创建 OLE DB 提供程序“MSDADASQL”的实例

有一个教程如何授予其他用户权限: http://blogs.msdn.com/b/dataaccesstechnologies/archive/2011/09/28/troubleshooting-cannot-create-an-instance-of-ole-db-provider.aspx

完成教程后,您还需要重新启动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多