Search code examples
sqlsql-serveroracle-databasestored-procedureslinked-server

Error while trying to run Oracle stored procedure using Linked Server in SQL


I am trying to run an Oracle stored procedure using linked server on SQL Server.

Stored procedure is crs.uf and it accepts a parameter p_date.

From SQL Server, I am executing it like this:

EXECUTE ('begin crs.uf("2016-02-26"); end;') AT LServer

I'm getting this error:

OLE DB provider "OraOLEDB.Oracle" for linked server "LServer" returned message "ORA-06550: line 1, column 47:

PLS-00201: identifier '2016-06-26' must be declared
ORA-06550: line 1, column 7:

PL/SQL: Statement ignored".

Msg 7215, Level 17, State 1, Line 2
Could not execute statement on remote server 'LServer'.

What am I doing wrong? How to successfully run this stored procedure?


Solution

  • Try

     DECLARE @dateval DATETIME
    
        EXECUTE ('begin crs.uf(?); end;',@dateval) AT LServer