我在互聯網上搜索了很多小時,但在這一點上有點絕望。如何更改SSRS 2008區域設置
我們必須具有定義爲
Date_Difference = Round((DateDiff("d", Fields!StartDate.Value, Fields!EndDate.Value))* Fields!ProjectStatusPct.Value)
status_date = CDate(DateAdd("d", Fields!Date_Difference.Value, Fields!StartDate.Value))
兩個SSRS和BIDS 2名DataSet中的字段安裝在同一服務器(VM,在Windows Server 2008 R2)上的報告。地區,語言,格式,我可以在機器上想到的所有東西都配置爲en_US。
報告屬性中的語言是en-US,我也在報告代碼中定義了這個en-US。
<Language>en-US</Language>
而且在reportViewer.aspx,我改變
<%@ Page Language="C#" AutoEventWireup="true" Inherits="Microsoft.ReportingServices.WebServer.ReportViewerPage"%>
到
<%@ Page Language="C#" AutoEventWireup="true" Inherits="Microsoft.ReportingServices.WebServer.ReportViewerPage" Culture="en-US"%>
一些崗位的建議。
數據源服務器(MSSQL 2008,在同一臺機器上)語言也是en-US。
該報告在BIDS設計師看起來不錯。但是,當我將它部署到服務器時,日期格式會變得混亂。報告服務器將MM/dd/yyyy(美國格式)作爲dd/MM/yyyy(加拿大格式)。其結果是,在status_date場總是產生,如果當我看SSRS日誌文件涉及到像2012年3月31日
日期錯誤的日期,或NULL,頭總是顯示爲
<Header><Product>Microsoft SQL Server Reporting Services Version 2007.0100.5500.00 ((Katmai_PCU_Main).110922-0336)</Product><Locale>English (Canada)</Locale><TimeZone>Pacific Daylight Time</TimeZone><Path>C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\Logfiles\ReportServerService__06_07_2012_16_30_41.log</Path><SystemName>KAM1ODDBS06</SystemName><OSName>Microsoft Windows NT 6.1.7601 Service Pack 1</OSName><OSVersion>6.1.7601</OSVersion><ProcessID>1160</ProcessID></Header>rshost!rshost!ec0!06/07/2012-16:30:41:: i INFO: CLR runtime is initialized.
所以我認爲BIDS需要本地機器的語言設置,然後正確處理日期。
的更多信息:
- 的布勞爾(IE)的語言是en_US
- 當我部署到其他報告服務器具有en_US區域的報告,它的工作原理。
我的問題是,如何將此報告服務器的語言環境更改爲en_US?
只是想補充一點,此用戶在MSDN論壇組發佈問題後找到自己的答案。該答案的最後文本是,「事實證明,SSRS的服務賬戶必須位於美國地區。」因此,如果您遇到類似問題,請註銷並以用戶設置爲執行帳戶的身份重新登錄,並檢查該用戶的區域語言設置。 – idclaar