im próbuje wykonać oracle przechowywane procedury z SQL Server 2008 R8 koryta DB LINK, nagłówek procedury przechowywanej jest tak:wykonywania Oracle procedury przechowywanej z SQL Server 2008
Procedura testowa (X w NOCOPY VARCHAR2 Y OUT NOCOPY NR, Z LICZBY)
Procedura będzie powinny zaktualizować tabela „mojatabela” i powrócić wyniku
Mój T-SQL jest:
DECLARE @X nvarchar(255)
DECLARE @Y INTEGER
DECLARE @Z INTEGER
SET @X= ''
SET @Y = 0
SET @Z = 2
EXEC('begin USER.PKG.TEST(?,?,?); end;',@X OUTPUT, @Y OUTPUT,@Z) AT DB_ORACLE;
Procedura składowana jest wykonywany, ponieważ widzę, że tabela „MOJA_TABELA” jest aktualizowana, ale problem jest to, że im się błąd:
Msg 7215, Niveau 17, État 1, Ligne 10
Impossible d'exécuter l'instruction sur le serveur distant 'DB_ORACLE'.
które przekładają się
Cannot execute the instruction at the distant server 'DB_ORACLE'
NB: Parametry RPC RPC, i korzystać z funkcji zdalnego Układanie są włączone
podziękowania za pomoc
Prawdopodobnie jakiś świr bzyka się w nowoczesny sposób, więc wybacz mi, że pytam tych ludzi, ale można to zrobić za pomocą INSERT INTO remTble @ DBlink VALUES ("przechowywane wywołanie proc"), następnie rigger na zdalnym stole WYKONAJE zapisane wywołanie proc, zwraca wyniki w innej tabeli/UPDATE remTble, działa? Jestem pewien, że już kiedyś to widziałem. – TenG
Dzięki za odpowiedź, ale problem nie mogę edytować procedura przechowywana lub dodać wyzwalacz do tej tabeli, ponieważ nie mam kontroli w bazie danych Oracle/tabel. Trzeba to postrzegać jako konsumowanie usługi internetowej, więc jeśli jesteś klientem, nie możesz edytować usługi internetowej. – aminedev