2010-01-11 62 views
3

有沒有辦法讓客戶端的windows帳戶用戶名訪問ssrs報告。如果用戶正在從機器A訪問服務器B上的報告,我們如何才能在SSRS報告中獲取用戶的Windows用戶名?獲取訪問ssrs報告的客戶端的windows帳戶用戶名

我使用User!UserID,它運行良好,因爲我從本地機器運行它。只要將它部署到不同的服務器,它就會停止工作,因爲有效的User!UserID不可用。

請注意。建議。


我的不好。我正在獲取用戶名。但似乎我需要在服務器上執行的「代碼」沒有奏效。我在「報告屬性 - >代碼」選項卡下添加了一個vb.net代碼。它在本地機器上正常工作。我只需右鍵單擊並將報告部署到服務器。是否還需要執行額外的步驟以將「代碼」部署到服務器或執行。如下圖所示

Public Shared Function GetUserName(ByVal input as String) As String 
     Try 
      input = input.Replace("<domain>\", "") 
      Dim details(2) As String 
      details = input.Split(".".ToCharArray()) 
      input = String.Concat(details(1), ", ", details(0)) 
     Catch ex As Exception 
      Return ex.Message 
     End Try 
     Return input 
End Function 

更新它是一種非常簡單的vb.net功能:
似乎出於某種原因輸入= input.Replace( 「\」, 「」)是行不通的。代碼的剩餘部分似乎正在工作。所以代碼與報告一起部署。對於爲什麼input.Replace()在本地機器上而不是在服務器上工作感到困惑。

更新: 看來域名我是越來越本地機器上是小寫,而服務器上的一個是大寫因此更換沒有發揮作用。現在我正在將ToLower()應用到輸入之前,它正在工作。我的錯。我應該更好地調試它。

我希望這個問題對於那些希望在ssrs報告中獲得windows用戶名的人有用。

感謝

+0

許多事情都「不工作」。請添加詳細信息 - 您是否收到錯誤或意外的輸出? – 2015-06-16 02:02:23

回答

2

如果你想在報告上顯示使用名稱[&用戶名]

相關問題