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

Traductions disponibles Traductions disponibles
Numéro d'article: 293641 - Voir les produits auxquels s'applique cet article
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)
Agrandir tout | Réduire tout

Sommaire

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

Propriétés

Numéro d'article: 293641 - Dernière mise à jour: lundi 24 février 2014 - Version: 2.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server OLAP Services
  • Microsoft SQL Server 2000 Analysis Services
Mots-clés : 
kbnosurvey kbarchive kbbug kbfix kbsqlserv2000bug tslic_tslic kbssas800fix kbgrpdsolap KB293641
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com