全部。SSIS Ole数据库来源为链接服务器的存储过程,参数
我正在使用链接服务器的存储过程。我想在ole db源中使用该过程。
我写了查询,它在SSIS中起作用。
select ID,
LAST_NAME_ENG,
LAST_NAME_G,
FST_NAME_ENG,
FST_NAME_G,
BIRTHDATE
from openquery (linkedserver,
'exec [linkedserver].get_records @SESSION_ID = 12 , @SYSTEM = ''oCRM'', @ENTITY_NAME = ''CLIENT''
WITH RESULT SETS (([ID] [int] NOT NULL,
[LAST_NAME_ENG] [varchar](50) NOT NULL,
[LAST_NAME_G] [varchar](50) NOT NULL,
[FST_NAME_ENG] [varchar](50) NOT NULL,
[FST_NAME_G] [varchar](50) NOT NULL,
[BIRTHDATE] [date] NOT NULL))');
我可以在SSIS ole db源代码中使用它,并成功获取所需的数据。但在下一步有问题:
我需要从SSIS而不是'12'将参数传递给@SESSION_ID。我找不到正确的方法来做到这一点。
有很多建议使用动态sql和构造具有所需参数值的完整查询字符串,然后执行它,但如果我会这样做 - SSIS无法从动态查询中获取列数据。
有没有办法解决它? 任何想法都会有帮助。
谢谢。
对此,尤里。
你为什么不直接连接到其他服务器? –
不幸的是,这是不允许的。 –