下文使用AS指代SQL Server Analysis Service
在程式中串連SQL Server Analysis Service的方法有3種:
方法一:使用AS的連接字串直接連接(用戶端程式與AS Server在同一個域中)
如:<add name="ConnectionString1" connectionString="Data Source=172.19.38.62;Initial Catalog=databaseName;"/>
方法二:使用SQL AS本身提供的IIS Web網站程式isapi間接串連(用戶端程式與AS Server不在同一個域中(PS:本人未驗證,應該可以))
詳細步驟請參考:http://www.microsoft.com/china/technet/prodtechnol/sql/2005/httpasws.mspx
連接字串:<add name="ConnectionString1" connectionString="Provider=MSOLAP.3;Initial Catalog=databaseName;Data Source=http://localhost/olap/msmdpump.dll;"/>
注意2點:
:配置好的網站地址使用IE直接存取會顯示500伺服器端錯誤,屬於正常狀況,不用懷疑,使用程式串連那個地址就可以了
:在AS的伺服器端需要使用SQL Management Studio程式配置AS伺服器的Security(許可權),允許本機IUSR使用者賬戶訪問
方法三:(比較怪異,但可以解決不在同一個域中的用戶端串連AS伺服器)
有A、B兩台PC,A PC上的程式(如任意.net應用程式或SQL Management Studio)需要訪問B PC的AS,由於AS 提供的預設串連方式為域使用者串連,所以如果A PC和B PC不在同一個域或A登入使用者不是域賬戶,此時可以通過如下方法從A串連到B的AS:
- 在B Server上建立本機使用者(如AnalysisTestUser)
開始->右鍵點擊我的電腦->管理->本機使用者和組->右鍵點擊使用者->新使用者->輸入AnalysisTestUser,勾選密碼永不到期
- 配置B許可權:在B Server上開啟Management Studio,串連到本地AS,展開需要串連資料庫->右鍵點擊Roles目錄->選擇New Role...->輸入Role Name(如Role1)->從左側選擇Membership->點擊Add,添加AnalysisTestUser使用者
- 在A Server登出目前使用者,然後使用剛建立的AnalysisTestUser登入
OK,現在A PC上的程式可以串連到B PC的AS了;其實只要保證A、B兩PC有共同的本機使用者賬戶名稱,並在B上AS中配置了該賬戶許可權即可