Comment résoudre l'erreur "Échec d'ouverture d'un ensemble de lignes"
Crystal Reports est une application de reporting pilotée par base de données incluse dans le paquet de développement Visual Studio de Microsoft. « Échec d'ouverture d'un ensemble de lignes » (Failed to Open a Rowset) est une erreur courante générée par Crystal Reports lors de l'échec d'une requête de rapport. L'erreur survient quand la requête SQL sur laquelle repose le rapport ne peut pas s'exécuter correctement. L'erreur « Failed to Open a Rowset » est utilisée génériquement par Crystal Reports pour représenter toute erreur de requête SQL.
Étape 1
Examinez les modifications apportées à la base de données source de votre rapport : changement de nom de base, tables ajoutées. Si le nom a changé, modifiez l'attribut « Emplacement » (Location) de votre rapport pour refléter le nouveau nom. L'ajout d'une table peut créer automatiquement de nouveaux liens qui modifient la structure de vos tables ou base et font échouer votre requête.
Étape 2
Comparez les tables incluses dans le rapport à celles référencées dans votre requête SQL. Si la requête ou une requête ad hoc référence une table non incluse dans le rapport, la requête SQL ne pourra pas s'exécuter et Crystal Reports lancera l'erreur « Failed to Open a Rowset ».
Étape 3
Examinez les procédures stockées utilisées par le rapport que vous tentez de générer. L'utilisateur qui lance le rapport doit avoir les permissions nécessaires pour exécuter toutes les procédures stockées composant le rapport. Corrigez les permissions si nécessaire et relancez votre rapport.
Étape 4
Vérifiez les propriétés et paramètres ODBC de votre rapport. Assurez-vous d'utiliser les valeurs NULL ANSI et les identificateurs entre guillemets ANSI. Vérifiez aussi que le paramètre « Utiliser les propriétés par défaut DSN » (Use DSN Default Properties) est réglé sur « false ».
Étape 5
Ouvrez votre ligne de commande SQL ou l'analyseur de requêtes dans Visual Studio ou votre programme de développement .NET alternatif. Essayez d'exécuter directement en SQL la requête sur laquelle repose votre rapport. L'erreur renvoyée par votre base de données SQL peut contenir des informations plus précises pour identifier la source de l'erreur Crystal Reports.
