我有一个从SQL Server 2008到DB2的链接服务器。该链接服务器使用IBM驱动程序而不是Microsoft的。
所以这可以在SQL Server上工作:
exec ('call RERTEBT.GET_DEFINITION (69,'''','''')') AT MyLinkedDB2Server
这也适用于使用openQuery...的情况,该方法从另一张表返回不同的数据。
select
RPMG_ETY_CD,
ROW_CU_DATA_IN,
ROW_EF_DT,
ROW_XPR_DT,
RPMG_ETY_NM
from
OPENQUERY
(MyLinkedDB2Server,
'select
RPMG_ETY_CD,
ROW_CU_DATA_IN,
ROW_EF_DT,
ROW_XPR_DT,
RPMG_ETY_NM
from RERTEBT.V1RERRMM')
然而,我无法通过DB2 Sproc获得select返回的数据。
这个失败了 -
SELECT FLT_DFN_ID, FLT_SRC_DFN_NO, FLT_VRSN_NO, FLT_STAT_CD, FLT_TY_CD, FLT_NAME
FROM OPENQUERY (MyLinkedDB2Server,
'call RERTEBT.GET_DEFINITION 69,'''','''')')
有人知道如何从SQL Server Linked server调用DB2存储过程并返回数据吗?或者是否可以实现这一点。我在某处读到DB2无法做到这一点,但没有看到任何真正的文档。谢谢D。