November 21, 2002 at 11:08 am
Is there a way to pass a parameter to the OPENQUERY function? Here is what I'm try to accomplish...I want to call a function w/ parameters on a linked server:
SELECT SERVER2.db1.dbo.fn_MyFunction(@param1)
This gives a syntax error, so I tried this:
SELECT * FROM OPENQUERY(SERVER2, 'SELECT val1=db1.dbo.fn_MyFunction(@param1)')
This also gives an error.
What is the best way to call a function on a remote/linked server?
-Dan
-Dan
November 21, 2002 at 12:51 pm
I don't believe functions are supported on linked servers either change it to an SP or use some really bad dynamic SQL (string building).
I am not 100% so I might be proved wrong
Simon Sabin
Co-author of SQL Server 2000 XML Distilled
http://www.amazon.co.uk/exec/obidos/ASIN/1904347088
Simon Sabin
SQL Server MVP
http://sqlblogcasts.com/blogs/simons
November 21, 2002 at 1:14 pm
FYI... just another tidbit of info. It works if I use a hardcoded paramenter:
SELECT * FROM OPENQUERY(SERVER2, 'SELECT val1=db1.dbo.fn_MyFunction(21)')
-Dan
-Dan
November 22, 2002 at 4:39 am
Unfortunately when they designed OPENQUERY they did not allow for optional parameters to be passed. The only way is to build the query string and execute via EXECUTE or sp_executesql (later being prefered method) as suggested in the previous post by David.
Viewing 5 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy