DependencyWalker.DiscoverDependencies fails with System.ArgumentException: Item has already been added.
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne in src/Microsoft/SqlServer/Management/Smo/DependencyTree.cs ungefähr bei Zeile 198 und verfolge DependencyWalker.DiscoverDependencies, um nachzuvollziehen, wie nicht aufgelöste Entitäten als Schlüssel verwendet werden. Reproduziere den Fehler mit Verweisen, die sich nur in der Groß-/Kleinschreibung des Datenbanknamens unterscheiden, und bewerte anschließend die auskommentierte Logik. Erledigt ist die Aufgabe, wenn die Abhängigkeitsermittlung keine Ausnahme mehr auslöst, sobald äquivalente nicht aufgelöste Verweise unterschiedliche Groß-/Kleinschreibung verwenden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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)
- Vorherrschende Sprache
- C#
- Sterne
- 143
- Forks
- 28
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus microsoft/sqlmanagementobjects
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 72/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 74/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 78/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
Alle Issues in microsoft/sqlmanagementobjects
Ähnliche Issues
-
area-ai untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
dotnet/extensions#7790 ·
Maintainer antworten meist innerhalb von 1 Tag
-
P2 testing
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
Maintainer antworten meist innerhalb von 1 Tag
-
area-Infrastructure-coreclr os-ios os-maccatalyst os-tvos untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
dotnet/runtime#134766 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
0 - Backlog Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
BrighterCommand/Brighter#4444 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag