【发布时间】:2017-08-30 13:45:08
【问题描述】:
我想使用 SQL Server 2008 从 IBM DB2 服务器获取一些数据。
为此我尝试使用:
SELECT * From Openquery(LINKED_SRV,'Select * from dta.Filename')
这给了我数据,虽然是相当旧的数据。
我已经收集到更新的数据在服务器上的另一个成员中,并且默认成员是我尝试从中导入数据的过时成员。
我被告知当前会员是PROD2017。我已经阅读了一些IBM DB2 文档,其中使用了Library.Filename(Member) 约定,但使用的是:
SELECT * From Openquery(LINKED_SRV,'Select * from dta.Filename(PROD2017)')
但这给了我一个不支持( 的错误。
在失败的几次尝试中,我也尝试过使用:
SELECT * From Openquery(LINKED_SRV,'Select * from dta.Filename"(PROD2017)"')
它实际上给出了一个结果集,但它与省略成员资格的原始结果集相同,所以我认为无论哪种方式查询都有一些问题。
当DB2 服务器使用会员资格时,我如何使用 openquery() 从使用 Sql 服务器的 IBM DB2 服务器中查找数据?
【问题讨论】:
-
我发布了一个基本上说要这样做的答案:SELECT * FROM OPENQUERY(LINKED_SVR, 'SELECT * FROM RETAILDB.IICPF01 FETCH FIRST 10 ROWS ONLY WITH UR') 但后来我意识到你已经尝试过这。你的问题解决了吗?
-
@smoore4 据我了解,无法使用 openquery 从特定成员那里获取数据。但是我已经与我们的 DB2 提供者进行了交谈,它以某种方式使当前成员成为默认成员,因此当您执行常规 OPENQUERY 语句时,您将获得当前数据。
标签: sql-server db2 openquery