我有一个C#程序,用于OPENQUERY()从链接服务器中进行选择.此传递查询接受参数.为了防止SQL注入,我想以类似的方式传递此参数SqlCommand.Parameters.AddWithValue,但OPENQUERY()不接受变量.
到目前为止,我一直在使用SqlCommand将参数传递给针对SQL Server中的表运行的查询.但是我还需要访问Oracle的链接服务器.是否有任何方法可以添加此参数而不将其连接为字符串?
string query = "SELECT * FROM OPENQUERY(linked_server,
'SELECT * FROM User.Table WHERE col1 = @parameter1 ')";
Run Code Online (Sandbox Code Playgroud)
编辑:我没有权限在远程Oracle服务器上创建存储过程.因此,对存储过程执行Sp_executesql似乎不是我的直接答案.