CORRECTIF : Une erreur survient lors du traitement d'un cube ou d'une dimension via les pages ASP

Ancien nº de publication de cet article : F293641
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
N° DE BOGUE : 11210 (Plato7.x)
N° DE BOGUE : 11281 (Plato7.x)
Symptômes
Quand vous procédez au traitement d'une dimension ou d'un cube via une page ASP à l'aide de DSO (Decision Support Objects, objets d'aide à la prise de décision), le traitement échoue et génère l'un des messages d'erreur suivants :
Erreur DSO '80040051' Impossible d'ouvrir la base de données 'Nom de la base de données' sur le serveur d'analyse
- ou -
Impossible d'initialiser la base de données 'Nom de la base de données'
Résolution
Pour résoudre ce problème, procurez-vous le dernier Service Pack de Microsoft SQL Server 2000 (Composants Analysis Services - Sql2kasp1.exe). Pour plus d'informations, consultez l'article suivant dans la Base de connaissances Microsoft :
290211 INF : Procédures pour obtenir le dernier Service Pack de SQL Server 2000
Statut
Microsoft a confirmé l'existence de ce problème dans SQL Server 2000 Analysis Services version 8.0. Ce problème a été corrigé dans les composants Analysis Services du Service Pack 1 de Microsoft SQL Server 2000.
Plus d'informations
Lors du traitement d'un cube ou d'une dimension via le Web à l'aide d'un script Microsoft Visual Basic dans une page ASP pour effectuer des appels vers un fichier .dll de DSO, les messages d'erreur énumérés dans la section "Problèmes" s'affichent. Les messages d'erreur s'affichent quand la propriété Isolation du processus de l'application de Internet Information Server (IIS) est définie sur Moyenne ou Élevée. Les messages d'erreur ne s'affichent pas si vous exécutez uniquement le code via Microsoft Visual Basic ou Microsoft VBScript, mais ils s'affichent si vous utilisez ASP.

Procédure pour reproduire le comportement

  1. Créez un fichier .dll à l'aide du code Visual Basic suivant :
    ** Composant COM de DSO Visual Basic :	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	'/*	' Nom du projet : ProcessDimension	'Nom de la classe : clsProcessDim	' Description : wrapper VB ActiveX COM pour DSO.	'*/ 	Public Function ProcessDimension() As Boolean	'Cet exemple se fonde sur la base de données FoodMart.	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	'Il est nécessaire de traiter la Dimension d'après la collection Dimension de la base de données.	For Each dsoDim In dsoDB.Dimensions	    If dsoDim.Name = "Promotions" Then		dsoDim.Process processRefreshData	        ProcessDimension = True	        Exit For	    End If	Next	'Vous pouvez procéder à un traitement intégral (processFull) du cube ici si besoin est.	'dsoCube.Process processRefreshData	ProcessDimension = True	Exit Function	errProcessDimension:	    ProcessDimension = False	    Err.Raise Err.Number, Err.Source, Err.Description		End Function
  2. Utilisez le code suivant pour créer une page ASP :
    ** code ASP :	<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. Enregistrez la DLL que vous avez créée à l'étape 1 sur le même ordinateur que celui sur lequel est installé Internet Information Server (IIS) et Analysis Services.
  4. Mettez la page ASP dans le dossier WWWROOT, puis définissez la propriété Isolation du processus de l'application sur ÉLEVÉE.
  5. Chargez la page ASP dans Microsoft Internet Explorer.


REMARQUE : Si votre référentiel est stocké dans le fichier Msmdrep.mdb par défaut, il est possible que vous soyez amené à réduire le niveau de sécurité sur le fichier afin que le traitement du cube ou de la dimension par une page ASP s'effectue correctement.Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
293782 BOGUE : Pour administrer un serveur d'analyse, l'utilisateur doit être membre d'un groupe Administrateurs
DSO error 80040051 Cannot open database Could not Initialize OLAP
Propriétés

ID d'article : 293641 - Dernière mise à jour : 02/24/2014 00:52:50 - Révision : 2.1

  • Microsoft SQL Server OLAP Services
  • Microsoft SQL Server 2000 Analysis Services
  • kbnosurvey kbarchive kbbug kbfix kbsqlserv2000bug tslic_tslic kbssas800fix kbgrpdsolap KB293641
Commentaires