FIX: 時,就會發生錯誤處理 Cube 或維度透過 ASP

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

293641
本文已封存。本文係以「現狀」提供且不會再更新。
BUG #: 11210 (Plato7.x)
BUG #: 11281 (Plato7.x)
徵狀
當您藉由使用決策支援物件 (DSO) 處理維度或 Cube 透過 ASP 網頁時,處理會失敗並顯示下列錯誤訊息:
DSO 錯誤 '80040051' 無法開啟資料庫分析伺服器上的 ' 資料庫名稱 '
-或者-
無法初始化資料庫 ' 資料庫名稱 '
解決方案
如果要解決這個問題,取得最新的 Service Pack,Microsoft SQL Server 2000 (在分析服務元件-Sql2kasp1.exe)。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211INF: 如何取得最新的 SQL Server 2000 Service Pack
狀況說明
Microsoft 已確認這是在 SQL Server 2000 分析服務版本 8.0 的問題。這個問題已經先在 [分析服務元件的 Microsoft SQL Server 2000 Service Pack 1 中獲得修正。
其他相關資訊
當處理 Cube 或維度透過網路在 ASP 網頁中使用 Microsoft Visual Basic 指令碼,使呼叫 DSO DLL 檔案,會發生 < 徵狀 > 一節中所列的錯誤訊息。當 [網際網路資訊伺服器 (IIS)] 屬性 應用程式隔離 設定為 [中] 或 [高],就會出現錯誤訊息。如果您執行只能透過 Microsoft Visual Basic 或 Microsoft VBScript 程式碼,但如果您使用 ASP,它們會發生,則不會顯示錯誤訊息。

重製行為的步驟

  1. 使用下列的 Visual Basic 程式碼建立 DLL 檔案:
    ** Visual Basic DSO COM component:	Private dsoServer As DSO.Server	Private dsoDB As DSO.MDStore	Private dsoCube As DSO.MDStore	Private dsoDim As DSO.Dimension	Private strDBName As String	'Private dsoMea As DSO.Measure		'/*	' Project Name: ProcessDimension	' Class Name: clsProcessDim	' Description: VB ActiveX COM wrapper for DSO.	'*/ 	Public Function ProcessDimension() As Boolean	'This sample is based on the FoodMart database.		On Error GoTo errProcessDimension	strDBName = "FoodMart 2000"	    	Set dsoServer = New DSO.Server	dsoServer.Connect ("LocalHost")		Set dsoDB = dsoServer.MDStores("FoodMart 2000")		Set dsoCube = dsoDB.MDStores(1)		Set dsoDim = New DSO.Dimension	'Debug.Print dsoDB.Dimensions.Count		'Need to process Dimension based on Database.Dimension collection.For Each dsoDim In dsoDB.Dimensions	    If dsoDim.Name = "Promotions" Then	        dsoDim.Process processRefreshData	        ProcessDimension = True	        Exit For	    End If	Next	'You could processFull on the Cube here if needed.	'dsoCube.Process processRefreshData		ProcessDimension = True	Exit Function		errProcessDimension:	    ProcessDimension = False	    Err.Raise Err.Number, Err.Source, Err.Description		End Function					
  2. 使用下列程式碼並建立 ASP 網頁:
    ** ASP code:	<HTML>	<BODY>	<%@ Language=VBScript %>		<%	dim objCubeProc	dim blnResult		set objCubeProc = Server.CreateObject("ProcessDimension.clsProcessDim")	blnResult = objCubeProc.ProcessDimension		if blnResult=True then		Response.Write "Done..."	else		Response.Write "Error..."	end if	%>	</BODY>	</HTML>					
  3. 登錄為網際網路資訊伺服器 (IIS) 和分析服務在同一部電腦上的步驟 1 中建立的 DLL。
  4. 將放置在 WWWROOT 的資料夾中 ASP 網頁,並再將 應用程式隔離 屬性設定為 [高]。
  5. Microsoft Internet Explorer 中載入 ASP 網頁。


注意: 如果您的存放庫儲存在預設 Msmdrep.mdb 檔,您可能需要降低處理的 Cube 或維度透過 ASP 網頁以便能夠正確地運作檔案安全性。 如需詳細資訊按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
293782如果使用者是系統管理員群組的成員,注意: 只可以管理分析伺服器
DSO 錯誤 80040051 無法開啟資料庫找不初始化 OLAP

警告:本文已自動翻譯

內容

文章識別碼:293641 - 最後檢閱時間:02/24/2014 00:52:51 - 修訂: 3.1

  • Microsoft SQL Server OLAP Services
  • kbnosurvey kbarchive kbmt kbbug kbfix kbssas800fix KB293641 KbMtzh
意見反應