Purpose (problem description)

This guide gives the approach to troubleshoot missing or wrong / incorrect links between two Dot Net objects.

Links are detected and saved by analyzer

.NET - Analysis results

 

Observed in CAST AIP

 

Release
Yes/No
8.3.x(tick)
8.2.x(tick)
8.1.x(tick)
8.0.x (tick) 
7.3.x(tick)
Observed on RDBMS
RDBMS
Yes/No
Oracle Server(tick)
Microsoft SQL Server(tick)
CSS3(tick)
CSS2(tick)

Action Plan

  1. If the missing links are between a C# method and SQL Server Table, see CMS Snapshot Analysis - Run Analyzer - Missing or Wrong Links per technology - DOTNet - Missing links between C sharp method and SQL Server Table due to the case sensitivity for further details.
  2. If the missing link is between ASP files and SQL Server Objects, see CMS Snapshot Analysis - Run Analyzer - Missing or Wrong Links per technology - ASP - Missing links between ASP files and SQL Server Objects
  3. if the missing link is between VB/.NET and SQL Server Objects, see CMS Snapshot Analysis - Run Analyzer - Missing or Wrong Links per technology - DOTNet - Missing links between VB DOTNet and SQL objects
  4. If the missing link is between an aspx page and vb.net class:

    The web part of the project is analyzed before the data layer and hence the links are missing.

    In the above screen shot link is expected between rpt1_ItemDataBound to getJobVoteData_Appt, we can see that there is no link between the two because the problem comes from the fact that the dependency from CampaignManager.Web (rpt1_ItemDataBound) toward CampaignManager.Data (getJobVoteData_Appt) is a project reference. If it is replaced by an assembly reference then the link will appear after a reanalysis. When there is a dependency between 2 analyzed projects, then it should be an assembly reference instead of a project reference, otherwise some links between objects of these projects could be missing. This is a limitation of the analyzer. This issue has been fixed in 7.3.6.

  5. If the missing link is between two .Net methods

    1. Check if the called method parameters are resolved

      The StartImportation method is calling the CloseGlobalConnection method, and we can see here that there is no link between the two. This can be due to the fact that a method parameter has not been resolved by the analyzer.
      Here is the definition of the CloseGlobalConnection method:

      public static void CloseGlobalConnection(IDataConnection conn, string connId = "")


      Check in the analysis log file for warnings such as :

      Warnings
      For VB: error BC30002: Type ' IDataConnection' is not defined.
      For C#: error CS0246: The type or namespace name ' IDataConnection ' could not be found (are you missing a using directive or an assembly reference?)               


       If you have any warning like this one in the project you are analyzing, it confirms that the parameter was not resolved. Because of a missing file, missing assembly, or missing dependency in configuration.

    2. Check the caller method project file for a reference to the called method project, as explained here : CMS Snapshot Analysis - Run Analyzer - Missing or Wrong Links per technology - DOTNet - No links between two DOTNet methods

  6. If one of the two objects is coming from ghost projects then you will have the wrong link issue. You need to proceed to identify the ghost projects and then delete the ghost project and then run the analysis: SQL Queries - CAST Knowledge Base - Queries on objects - Identify and clean up all the ghost objects and ghost projects in your knowledge base
  7. If the above cases are not relevant, contact CAST Technical Support. with Relevant Input

 

Relevant Input

  1. Description of the expectation regarding why the link is expected/wrong according to you.
  2. The source code of the two objects.
  3. A screenshot in Enlighten showing the objects names, the objects types, the link type between which there is missing link OR wrong link.
  4. Sherlock export which will include the Knowledge Base.
Notes/comments


Related Pages