DependencyWalker.DiscoverDependencies fails with System.ArgumentException: Item has already been added.
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez dans src/Microsoft/SqlServer/Management/Smo/DependencyTree.cs vers la ligne 198 et suivez DependencyWalker.DiscoverDependencies pour déterminer comment les entités non résolues sont utilisées comme clés. Reproduisez l’échec avec des références qui ne diffèrent que par la casse du nom de la base de données, puis évaluez la logique commentée. La tâche est terminée lorsque la découverte des dépendances ne lève plus d’exception lorsque des références non résolues équivalentes utilisent une casse différente.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
We hit this when we had a few old stored procedures referring to the same dropped table with different casing for database name. I see commented out code at https://github.com/microsoft/sqlmanagementobjects/blob/main/src/Microsoft/SqlServer/Management/Smo/DependencyTree.cs#L198 that might have fixed this issue, not sure why it's been commented out though.
Microsoft.SqlServer.Management.Smo.FailedOperationException: Discover dependencies failed.
---> System.ArgumentException: Item has already been added. Key in dictionary: 'Server[@Name='SERVER']/Database[@Name='database']/UnresolvedEntity[@Name='nonexisting_table' and @Schema='dbo']' Key being added: 'Server[@Name='SERVER']/Database[@Name='DATABASE']/UnresolvedEntity[@Name='nonexisting_table' and @Schema='dbo']'
at Microsoft.SqlServer.Management.Smo.DependencyTree..ctor(Urn[] urns, DependencyChainCollection dependencies, Boolean fParents, Server server)
at Microsoft.SqlServer.Management.Smo.DependencyWalker.DiscoverDependencies(Urn[] urns, Boolean parents)
- Langage dominant
- C#
- Étoiles
- 143
- Forks
- 28
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de microsoft/sqlmanagementobjects
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 72/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 74/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 78/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
Toutes les issues de microsoft/sqlmanagementobjects
Issues similaires
-
effort:S P3 refactor
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
nightscout/nocturne#1532 ·
-
core dependencies
Difficulté 1/5 Moins d'une heure Accessibilité débutants 80/100
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
C#/.NET Roslyn LSP Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Suspicious code fragments Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
DotNetNext/SqlSugar#1458 ·