J'utilise SQL Server 2005 avec Reporting Services. J'ai installé de nombreux rapports, certains utilisant des sources de données partagées et d'autres non ; certains vont vers des services web, d'autres vers des bases de données sql server, et maintenant j'essaie de me connecter à une base de données DB2.
J'ai réussi à créer une source de données et un rapport partagés dans Visual Studio 2005. Je peux extraire des données sans problème et les afficher sur mon rapport dans le concepteur. J'essaie maintenant d'installer le rapport et la source de données via le service web ssrs (de la même manière que 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 que, pour cette source de données, j'utilise l'option "Les informations d'identification ne sont pas requises" puisqu'elles figurent 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 bien, ne donne aucune erreur et semble créer la source de données correctement dans ssrs. Mais lorsque j'exécute le rapport, j'obtiens cette erreur :
L'action en cours ne peut pas être achevée car la source de données de l'utilisateur qui sont nécessaires pour l'exécution de ce rapport ne sont pas stockées dans dans la base de données du serveur de rapports. (rsInvalidDataSourceCredentialSetting)
Mon rapport est correctement connecté à ma source de données, et ma source de données est correctement configurée pour que les informations d'identification ne soient pas requises, donc tout est identique à ce qu'il y a dans Visual Studio. Je suis à court d'idées.