DependencyWalker.DiscoverDependencies fails with System.ArgumentException: Item has already been added.
还没有人认领这个 Issue。
评估
调研方向
从 src/Microsoft/SqlServer/Management/Smo/DependencyTree.cs 第 198 行附近开始,跟踪 DependencyWalker.DiscoverDependencies,了解未解析实体是如何作为键的。使用仅数据库名称大小写不同的引用重现该故障,然后评估已注释掉的逻辑。当等效的未解析引用使用不同的大小写时,依赖项发现不再抛出异常,即表示完成。
由索引模型根据 Issue 内容生成。
描述
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)
- 主要语言
- C#
- 星标
- 143
- 派生
- 28
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/sqlmanagementobjects 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
-
难度 3/5 1-2 天 新手友好度 72/100
-
难度 4/5 3-5 天 新手友好度 74/100
-
难度 3/5 1-2 天 新手友好度 78/100
-
难度 3/5 1-2 天 新手友好度 68/100
查看 microsoft/sqlmanagementobjects 的全部 Issue
相似的 Issue
-
Status: Waiting triage Type: Bug
难度 2/5 1-3 小时 新手友好度 84/100
nanoframework/Home#1857 ·
-
kind/bug kind/regression
难度 2/5 1-3 小时 新手友好度 78/100
unoplatform/uno.toolkit.ui#1646 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
nightscout/nocturne#1379 ·
-
难度 2/5 1-3 小时 新手友好度 86/100
elastic/esql-dotnet#47 ·
-
难度 1/5 1 小时以内 新手友好度 85/100