Export (0) Print
Expand All

ObjectReferenceTracker Class

Provides analysis regarding the impact and consequences of deleting variables and connections from a package. This class cannot be inherited.

Object
  Microsoft.SqlServer.Dts.Runtime.DtsObject
    Microsoft.SqlServer.Dts.Runtime.ObjectReferenceTracker

Namespace:  Microsoft.SqlServer.Dts.Runtime
Assembly:  Microsoft.SqlServer.ManagedDTS (in Microsoft.SqlServer.ManagedDTS.dll)

public sealed class ObjectReferenceTracker : DtsObject

The ObjectReferenceTracker type exposes the following members.

  NameDescription
Public methodAddReferenceThis method adds a reference to a list for reference tracking.
Public methodDestroyListThis method destroys the specified reference list from reference tracking.
Public methodEqualsDetermines whether two object instances are equal. (Inherited from DtsObject.)
Public methodGetHashCodeReturns the hash code for this instance. (Inherited from DtsObject.)
Public methodGetType (Inherited from Object.)
Public methodRemoveReferenceRemoves a reference from an existing list.
Public methodSetListInfoThis method allows you to provide metadata for an existing reference list.
Public methodToString (Inherited from Object.)
Top

The ObjectReferenceTracker is a mechanism for viewing impact analysis. You register the objects that your components are using and where they are found. If another user or component attempts to delete an object, the system can provide information allowing you to verify that the object is not in use elsewhere, and if it is used elsewhere, display the information to you. When you add or delete a reference to a variable from a component or package, you have to update the lists of variable reference.

Currently, the types of objects supported by the reference tracker are listed in the DTSObjectReferenceType enumeration.

A runtime task or pipeline component that uses variables or collections uses the AddReference method to create a reference list of objects. You also need to provide a usage location and description for the list by calling SetListInfo. For example, a task with a single variable would use its name as the location information, and a description of what the variable is used for as the usage description.

Tasks or components that make different uses of variables or connections may create as many separate reference lists as necessary. For example, the Conditional Split component uses variables in expressions on outputs, and you can create a separate reference list for each output expression that uses variables. You set the component name as the usage location and include the expression and where it is found in the description. If the same variable is used in multiple expressions, each usage location will be tracked by the system.

There are separate DTSObjectReferenceType enumerations for read-only variables and read/write variables. Using this specification, in conjunction with variable locking with the VariableDispenser class, can provide information that is useful when resolving deadlock issues.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft