Создайте набор данных с хранимой процедурой с двумя базами данных для отчета rdlc VS2015 - PullRequest
0 голосов
/ 09 октября 2018

Я хочу добавить новые наборы данных в свой отчет rdlc в VS 2015, поэтому я создал новый источник данных с моей хранимой процедурой.Вот оно:

CREATE PROCEDURE [dbo].[getAccidents]
(@p_anneeDebut date, @p_anneeFin date)
AS
SELECT * 
FROM T_ACCIDENT
LEFT OUTER JOIN TJ_ACC_PAR ON TJ_ACC_PAR.ACC_id = T_ACCIDENT.ACC_id AND TJ_ACC_PAR.ACC_type = T_ACCIDENT.ACC_type AND TJ_ACC_PAR.ACC_annee = T_ACCIDENT.ACC_annee
LEFT OUTER JOIN TR_PARTIE_CORPS ON TJ_ACC_PAR.PAR_id = TR_PARTIE_CORPS.PAR_id
LEFT OUTER JOIN TR_BLESSURE ON TJ_ACC_PAR.BLE_id = TR_BLESSURE.BLE_id
LEFT OUTER JOIN ERP.dbo.TR_COST_CENTER ON TR_COST_CENTER.COS_id = T_ACCIDENT.ACC_lieuPrecis
WHERE ACC_date <= @p_anneeFin AND ACC_date >= @p_anneeDebut

Но когда я добавляю этот новый источник данных, он не появляется в списке «Источник данных», поэтому я не могу выбрать его для своего отчета.(Источник данных хорошо создан).

Я тестировал с другой хранимой процедурой, и она работает, проблема в этой строке (потому что без этой строки она тоже работает):

LEFT OUTER JOIN ERP.dbo.TR_COST_CENTER ON TR_COST_CENTER.COS_id = T_ACCIDENT.ACC_lieuPrecis

Поскольку эта строка вызывает другую базу данных, кроме запросаработает в SQL SERVER.Как я могу решить мою проблему?

1 Ответ

0 голосов
/ 09 октября 2018

Вы пытались запустить свой хранимый процесс с сервера Sql, возможно, это сопоставление между двумя базами данных, которое отличается, то есть, если соединение имеет строковое значение.Если вы вызываете хранимый процесс в SSRS, лучшим решением будет сначала получить результаты в SSMS, а в случае возникновения ошибки вы легко сможете устранить неполадки.Кроме того, попробуйте использовать псевдоним в своих объединениях.

...