2011-03-02 36 views
0

我創建了SQL Server 2008的三個表,所有SSRS 2008參數越來越nvarchar的,而不是爲varchar

Code char(1) not null, 
Description varchar(50) 

然後是三個存儲過程,全部由

create name_menu as 
begin 
set nocount on; 
select Code, 
     Code + ' - ' Description as Description 
    from name; 
end; 

(名稱爲部分變化值)

將每個sproc添加到SSRS 2008報告中作爲數據集。然後將每個數據集作爲參數添加,其中代碼爲值,描述爲標籤

在報告中,其中兩個菜單看起來和預期的一樣,但其中一個僅顯示代碼,' - '和描述的第一個字母。如果我將該參數值作爲文本框添加到報表中,說明部分具有典型的試圖在ASCII字段中顯示UTF-16小端的「框」。

我搜索報告的XML,發現所有非數字數據類型爲字符串或System.String

我檢查

SELECT inf...schema.columns where DATATYPE = 'NVARCHAR' 

......和有沒有。

我刪除了sproc並再次運行create語句,然後告訴SSRS刷新字段。

舊版本SSRS用於高速緩存的數據,有時會無法刷新,所以我找了緩存文件刪除。沒有找到任何。

我應該是能夠來投的結果,但我不應該來。 (並不會驚訝地被告知「你不能這樣做」)

建議?

+0

我贏得了一個編輯器徽章來添加我已經遺忘的細節?其他徽章是否同樣沒有意義? – WGroleau 2011-03-02 17:13:46

回答

1

(不好意思) 不知道怎麼回事,但不知何故,在表中的原文被轉換爲UTF-16和插回如同它是ASCII一樣。所以其他每個角色都是空的。 SSRS試圖渲染實際存在的數據類型。

因爲我看到了在表中的正確的文本不久看到在SSRS僞造文本之前,我沒有理會再次看那裏。一位同事實際上找到了它。

不過這到是顯示兩個錯誤:SSRS做了正確的事情在一個文本框,顯示出作爲一個「盒子」,但在菜單中的每個空,它處理的第一個空的字符串的結束。 SSMS在select語句的結果網格中做了同樣的事情。

+0

這是一個答案? – 2011-03-10 21:53:18

0

在DataSet對話框中,您可以看到參數和結果集數據類型。錯誤在那裏。

檢查這些是否有錯別字或錯誤。或者在對話框「嗅探」以獲取數據類型的存儲過程中(但不可能基於給定的信息)。

什麼SSRS內部使用不要緊......

+0

謝謝,gbn。聽起來不錯,但沒有幫助。 所有三個參數的參數屬性均爲該類型的「文本」。其他選項(浮點,整數,布爾值和日期/時間)均不可接受。 數據集的數據集屬性,這個奇怪的值來自沒有地方說或查看任何有關數據類型。 – WGroleau 2013-06-20 19:37:13