2009-05-07 2 views
1

J'utilise SQL Server 2005 avec Reporting Services. J'ai de nombreux rapports installés, certains utilisant des sources de données partagées et d'autres non; certains vont aux services Web, d'autres aux bases de données SQL Server, et maintenant j'essaie de me connecter à une base de données DB2.Comment puis-je installer une source de données partagée sans informations d'identification dans SSRS?

J'ai réussi à créer une source de données partagée et à créer un rapport dans Visual Studio 2005. Je peux extraire les données et les afficher dans mon rapport dans le concepteur. J'essaye maintenant d'installer le rapport et la source de données par le service Web de SSR (de la même manière que j'ai pour tous les autres rapports). Le problème est que la plupart de nos sources de données utilisent la sécurité intégrée, et pour cette source de données j'utilise 'Les informations d'identification ne sont pas requises' puisqu'elles sont listées dans la chaîne de connexion. Voici mon code d'installation:

Dim definition As New ServiceProxy.DataSourceDefinition 

definition.ConnectString = connectionStringIncludingUsernameAndPassword 
definition.Extension = "OLEDB" 
definition.CredentialRetrieval = ServiceProxy.CredentialRetrievalEnum.None 

ServiceWebService.CreateDataSource(dataSourceName, containingFolderFromRoot, True, definition, Nothing) 

Cela fonctionne aussi bien et donne aucune erreur, et semble créer la source de données correctement dans SSRS. Mais quand je vais courir le rapport que je reçois cette erreur:

The current action cannot be completed because the user data source credentials that are required to execute this report are not stored in the report server database. (rsInvalidDataSourceCredentialSetting)

Mon rapport est correctement connecté à ma source de données, et ma source de données est correctement réglée sur les informations d'identification non nécessaire, il est donc tout le même que est dans Visual Studio. Je n'ai plus d'idées.

+0

À ce stade, il ressemble de plus en plus à un problème DB2. J'ai été en mesure de changer l'option 'No Credentials' en 'Supplied Crendentials' et changé ma chaîne de connexion pour ne pas les avoir dedans. Lorsque je fais cela, j'obtiens une erreur OLE DB qui me fait penser que j'ai une ancienne version de DB2 Connect installée. – danlash

Répondre

0

Le problème a été plusieurs fois:

  1. le nom d'utilisateur et mot de passe ont été répertoriés dans la chaîne de connexion au lieu de l'intérieur du serveur
  2. db2 connecter un logiciel installé sur le serveur de rapports a été mis à jour (8 au lieu de 9)
  3. le « DB2USERS » groupe d'utilisateurs n'a pas de membres

Après la correction de ces problèmes, le rapport fonctionne!

Questions connexes