2010-03-11 53 views
0

我想比較SQL 2008服務器上2個數據庫之間的記錄。下面的查詢在SSMS中起作用。SSRS從2個數據庫中讀取報告

SELECT 'Manual', 
     manual.*, 
     'Auto', 
     Auto.* 
    FROM (SELECT * FROM TESTINGSOMODS..TESTINGSOManMODS) Manual 
     FULL OUTER JOIN 
      (SELECT * FROM CHELTONCUSTOMIZATIONS..SOMODS) Auto 
     ON manual.[Order No] = auto.fsono 

我創建了一個解決方案,當我試圖建立一個共享數據源,我面臨着如下:

DataSource

所以,我的第一個問題是,如果我想從2個不同的數據庫中提取「我選擇或輸入數據庫名稱」時輸入什麼內容?

回答

2

將其設置爲從TESTINGSOMODS運行。在包含查詢的TESTINGSOMODS上創建一個存儲過程,對報表使用此過程。該報告不會知道您正在訪問CHELTONCUSTOMIZATIONS,它只會查看TESTINGSOMODS上過程的結果集。

+0

請耐心等待,因爲我是SSRS的新手,雖然我已經上過一堂課。有沒有辦法簡單地輸入我的SQL語句來跳過創建數據源? 如果我正在處理數據庫,如果我不允許使用SP來更改數據庫,該怎麼辦?在這種情況下,我將如何完成這個任務? – DavidStein 2010-03-11 16:37:32

+2

如果你不能添加一個存儲過程,最好的辦法是嘗試使用完全限定名稱,選擇一個數據庫作爲源,然後使用完整的4部分名稱引用每個表,如:server.database.schema.table ' – 2010-03-11 19:18:07