由于以前安裝過SQL2005 BETA2版本,后來再裝上SQL2005正式版后發現報表服務不能啟動,使用url地址 http://localhost/reportserver訪問時報告下面信息:
|
經過診斷,這一問題可以通過命令行解決,如下:
|
當然,如果你的SQLSERVER2005不是混合驗證,你可以改變一下上面的參數,如
|
這樣,如果上面命令沒有報錯的話,你再通過http://localhost/reportserver訪問時應該是不會報不能連接到SQLSERVER 數據庫問題了。
但是,我通過http://localhost/reportserver訪問是,報告下面信息:
|
真冤,那我就啟動報表服務把,可是啟動的時候它報錯,說它啟不起來,要我去事件里看看,這不玩我么?我就去事件里瞧瞧,果然發現3個大紅叉,內容如下:
紅叉1:
|
紅叉2:
|
紅叉3:
|
紅叉1報的莫明奇妙,RPC服務啟動故障,這SQL2005更年期了把,明明RPC服務好好的啟著。
紅叉2報的更加奇怪,沒事用這LocalSystem破標志干嘛,我又沒有設置你,無法識別。
紅叉3竟然提供了一個解決方案,說要我再用rsconfig.exe試試,整人怎么能這樣呢?rsconfig.exe總共才幾個參數,我都玩了幾百遍了,還要我玩,會不會啊,又是一個腦癡,不知道就不知道,還要給個什么建議干嘛,引我入歧途啊!
不過微軟還是挺實在的,我把紅叉2的內容往GOOGLE上一搜,就發現微軟的官方網站上有這個問題的解決辦法,網址如下:http://support.microsoft.com/kb/911846/en-us
這文章大意就是說:確實有這個問題存在,這個原因是在RSreportserver.config文件中的WebServiceAccount屬性沒有指好導致,當這個屬性沒有指好時,它就會使用ASPNET使用的帳號,然而當前ASPNET使用的這個帳號它不存在于域控制器中的,缺省情況下這個ASPNET使用的帳號就是應該在域控制器中,如使用IWAM_ComputerName帳號。
哎,看上面的話不就是怪我改動了ASPNET的使用帳號,所以報表服務啟不起來,明顯推卸責任不多說了,看看微軟的解決方法把,其實很簡單,打開RSreportserver.config文件,這文件所處的目錄如下:
|
然后找下面標志
| |
把它改成下面的樣子:
|
好了,存盤重啟報表服務,歷時3小時16分零16秒,報表服務啟動終于成功。
但并不意味著可以成功訪問了,我再訪問http://localhost/reportserver/時出現下面錯誤:
報表服務器無法打開與報表服務器數據庫的連接。所有請求和處理都要求與數據庫建立連接。 (rsReportServerDatabaseUnavailable) 獲取聯機幫助Login failed for user 'CRSERVERIWAM_CRSERVER'.
這個問題報告到挺實在的,就是說當前這個用戶不能訪問SQLSERVER數據庫,那行,我就為這個用戶建立一個SQL登錄卻發現其實這個用戶根本就不能建登錄,意味著它也不是域帳號,哎,忘了說了,我的時WIN2003系統,微軟上面那篇文章講的是2000的好把,反正知道問題所在,先把ASP.NET的運行帳號改為NT AUTHORITYLOCAL SERVICE,然后在上文件中把
| |
改成下面的信息
|
這下應該沒錯了把,可是郁悶的是還是有錯:上個錯誤沒有了,下個錯誤出來了,如下:
|
記得SQL2005有一個報表配置管理器,去里面玩玩發現有一個加密的一欄,不管了,它不是說不能解密么,那我先把它刪除,刪除成功了,然后再change一下生成一個新的,OK在重新使用http://localhost/reportserver訪問,幸喜惹狂啊,什么錯也沒有了IE返回界面如下:
|
大功告成!