vendredi 9 février 2007

Analysis Services 2000 Service Pack 4 - l'arme anti DSO distant !

Bonjour à tous !

Si le pilotage d'Analysis Services 2000 via le namespace DSO est extrêmement simple, comme nous l'avons vu précédemment, il n'en demeure pas moins surprenant que la connexion s'effectue correctement sans une chaîne de connexion bien formée.
En effet, seul le nom du serveur est fourni lors de la connexion avec les objets DSO. La chaîne de connexion est alors récupérée en base de registre, décryptée, et permet d'accéder au Repository d'Analysis Services.

En pratique, Analysis Services stocke deux chaînes de connexion encryptées dans la base de registre :
- une première chaîne pour les connexions locales :
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Microsoft Analysis Services\Bin\msmdrep.mdb
- une deuxième chaîne pour les connexions distantes :
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\<NomDuServeur>\MsOLAPRepository$\msmdrep. mdb

Vous remarquerez ici que le Repository d'Analysis Services 2000 est stocké dans une base de données Access.

A partir du Service Pack 3, un bug est apparu concernant la connexion avec les objets DSO. Malheureusement, le HOTFIX réalisé à l'époque n'a pas été incorporé dans le Service Pack 4 d'Analysis Services 2000.
En effet, l'encryption de la chaîne de connexion distante est défaillante. Il en résulte que la chaîne de connexion décryptée par les objets DSO n'est pas valide.

Ainsi, lors d'une connexion distante via DSO, le message suivant peut-être obtenu :
Cannot connect to the repository. OLAP Server: Error: <NomDuServeur> [Microsoft][ODBC Driver Manager] Data source name too long

L'incompréhension vient souvent du fait que la même action effectuée avec une connexion locale ne pose aucun problème, brouillant un peu plus les pistes de correction.

Un bug incidieux donc, pour lequel vous trouverez un HOTFIX ici. La référence de la description du HOTFIX est KB907323.
Plus simplement, vous pouvez modifier la valeur de la clé contenant la chaîne de connexion distante en effectuant un click droit sur le nom de votre serveur dans Analysis Manager dans le menu "Edit Repository Connection String".

Bien entendu, il est totalement inutile de passer ce HOTFIX si vous ne rencontrez aucun problème ;-)

Aucun commentaire: