Передача многозначного параметра в связанный сервер Oracle в SQL Server из SSRS - PullRequest
0 голосов
/ 15 мая 2018

В настоящее время я создаю отчет в SSRS с использованием источника данных MSSQL. В этом источнике данных у меня есть связанный сервер Oracle, из которого я извлекаю свой базовый набор данных. Я пытаюсь передать многозначный текстовый параметр из SSRS в MSSQL, который затем будет использоваться в OPENQUERY для базы данных Oracle. Проще говоря, мой запрос в MSSQL выглядит примерно так:

DECLARE @SQL VARCHAR(MAX)
SET @SQL = 'SELECT id, type, name FROM sample WHERE type IN (''''A'''',''''B'''')'
SET @SQL = 'SELECT * FROM OPENQUERY(oracledb,''' + @SQL + ''')'
EXEC (@SQL)

Обычно с SSRS, используя MSSQL, я могу заменить

type IN (''''A'''',''''B'''')

с

type IN (@Parameter)

Как мне поступить так при передаче многозначного параметра в вышеупомянутый запрос, так как он использует связанный сервер для oracle?

1 Ответ

0 голосов
/ 15 мая 2018

Это работает для openquery для DB2, но я укажу, что вы пропустили + после @SQL в вашем примере.Как только я добавил, что это сработало.

SET @SQL = 'SELECT * FROM OPENQUERY(oracledb,''' + @SQL +''')'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...