Showing posts with label searching. Show all posts
Showing posts with label searching. Show all posts

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

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 + ')')

Never mind, figured it out:

declare @.sql varchar(3000)

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

Exec (@.sql) at SANSORA1