Friday, March 9, 2012

How to call proc on linked Oracle server

Sorry if this is very stupid question, but i've spent too long searching for the answer:

I have a linked Oracle server set up for RPC in SQL server 9 db. How do I call it? I've tried this, but gives Unspecified error:

"

OLE DB provider "OraOLEDB.Oracle" for linked server "SANSORA1" returned message "Unspecified error".

"

From this:

declare @.UserName char(20) -- Current Username

declare @.Password varchar(20) -- Current Password

declare @.PasswordNew varchar(20) -- New Password

declare @.PasswordCfm varchar(20) -- Confirm New Password

set @.UserName = '900878'

set @.Password = '900878'

set @.PasswordNew = '777'

set @.PasswordCfm = '777'

declare @.return int

exec SANSORA1..PCG.USR_CHANGEPASSWORD @.UserName ,@.Password ,@.PasswordNew ,@.PasswordCfm;

--Exec ( 'SANSORA1..PCG.USR_CHANGEPASSWORD (' + @.UserName + ' ,' + @.Password + ' ,' + @.PasswordNew + ' ,' + @.PasswordCfm + ')')

You would need to create a package wrapper and use openquery().

Courtesy of Umachandar:
http://tinyurl.com/7dxrr|||

Thanks, found a solution:

declare @.sql varchar(3000)

set @.sql = 'CALL PCG.USR_CHANGEPASSWORD(''' + @.UserName + ''', ''' + @.Password + ''', ''' + @.PasswordNew + ''', ''' + @.PasswordCfm + ''')'

Exec (@.sql) at SANSORA1

No comments:

Post a Comment