अंत में कुछ समाधानों को ट्रैक किया गया - समस्या की कुंजी (हमारे लिए) यह है कि डिफ़ॉल्ट रूप से लिंक किए गए सर्वरों के लिए आरपीसी अक्षम हैं। आरपीसी, आरपीसी आउट, और रिमोट कॉलेशन का उपयोग करने के लिए पैरामीटर को सही पर सेट करने की आवश्यकता है। अधिक जानकारी:
आपके द्वारा उपयोग किया जाने वाला समाधान प्रक्रिया आउटपुट आवश्यकताओं पर निर्भर करेगा। पहला उदाहरण आउटपुट मान देता है। दूसरा उदाहरण कोई आउटपुट मान नहीं लौटाया जाता है (डेटा बाद की क्वेरी में एकत्र किया जाता है)।
उदाहरण 1
प्रक्रिया T2T_collect_all में दो इनपुट पैरामीटर (आरंभ और समाप्ति तिथियां) और एक आउटपुट पैरामीटर (पंक्ति गणना) हैं।
DECLARE @l_i_parameter1 वर्कर(10)
DECLARE @l_i_parameter2 वर्कर(10)
DECLARE @l_i_parameter3 वर्कर(10)
DECLARE @l_i_parameter4 वर्कर(10)
DECLARE @l_o_parameter1 पूर्णांक
सेट @l_i_parameter1 ='2009/10/01'
सेट @l_i_parameter2 ='yyyy/mm/dd'
सेट @l_i_parameter3 ='2009/12/31'
सेट @l_i_parameter4 ='yyyy/mm/dd'
सेट @l_o_parameter1 =0
निष्पादित करें ('शुरू करें T2T_collect_all(to_date(?, ?), to_date(?, ?), ? ); अंत;',
@l_i_parameter1,
@l_i_parameter2,
@l_i_parameter3,
@l_i_parameter4,
@l_o_parameter1 OUTPUT
) ORA_DB पर;
और जानकारी:http://blogs.msdn.com/joaquinv/archive/2008/10/23/execute-oracle-stored-procedure-in-sql-server.aspx
उदाहरण 2a
प्रक्रिया T2T_collect_allx में केवल दो इनपुट पैरामीटर (आरंभ और समाप्ति तिथियां) हैं।
निष्पादित ('शुरू T2T_collect_allx (SYSDATE - 40, SYSDATE); समाप्त;') ORA_DB;
उदाहरण 2बी
चुनें * OPENQUERY से(ORA_DB, 'शुरू करें T2T_collect_allx (SYSDATE - 40, SYSDATE); अंत;')