コード例 #1
0
ファイル: OLEDBCommand.cs プロジェクト: mosamy/vulcan
        public override void Initialize(SsisEmitterContext context)
        {
            base.Initialize(context);
            TransformationUtility.RegisterOleDBConnection(context, _oleDBConnection, Component);

            Instance.SetComponentProperty("SqlCommand", _astOleDBCommandNode.Query.Body);
            ProcessBindings(context);
            Flush();
        }
コード例 #2
0
        public override void Initialize(SsisEmitterContext context)
        {
            base.Initialize(context);
            TransformationUtility.RegisterOleDBConnection(context, _oleDBConnection, Component);

            Instance.SetComponentProperty("IsCaseSensitive", _astTermLookupNode.IsCaseSensitive);
            Instance.SetComponentProperty("RefTermColumn", _astTermLookupNode.RefTermColumnName);
            Instance.SetComponentProperty("RefTermTable", _astTermLookupNode.RefTermTableName);

            Component.OutputCollection[0].ErrorRowDisposition = DTSRowDisposition.RD_IgnoreFailure;
            ProcessBindings(context);
            Flush();
        }
コード例 #3
0
        public override void Initialize(SsisEmitterContext context)
        {
            base.Initialize(context);
            TransformationUtility.RegisterOleDBConnection(context, _oleDBConnection, Component);

            switch (_astDestination.AccessMode)
            {
            case DestinationAccessModeFacet.Table:
                Instance.SetComponentProperty("AccessMode", 0);
                Instance.SetComponentProperty("OpenRowset", _astDestination.Table.SchemaQualifiedName);
                break;

            case DestinationAccessModeFacet.TableFastLoad:
                Instance.SetComponentProperty("AccessMode", 3);
                Instance.SetComponentProperty("OpenRowset", _astDestination.Table.SchemaQualifiedName);

                Instance.SetComponentProperty("FastLoadKeepIdentity", _astDestination.KeepIdentity);
                Instance.SetComponentProperty("FastLoadKeepNulls", _astDestination.KeepNulls);
                Instance.SetComponentProperty("FastLoadMaxInsertCommitSize", _astDestination.MaximumInsertCommitSize);

                var fastLoadOptions = new StringBuilder();
                if (_astDestination.TableLock)
                {
                    fastLoadOptions.AppendFormat(System.Globalization.CultureInfo.InvariantCulture, "TABLOCK,");
                }

                if (_astDestination.CheckConstraints)
                {
                    fastLoadOptions.AppendFormat(System.Globalization.CultureInfo.InvariantCulture, "CHECK_CONSTRAINTS,");
                }

                if (_astDestination.RowsPerBatch > 0)
                {
                    fastLoadOptions.AppendFormat(System.Globalization.CultureInfo.InvariantCulture, "ROWS_PER_BATCH = {0}", _astDestination.RowsPerBatch);
                }

                fastLoadOptions = fastLoadOptions.Replace(",", String.Empty, fastLoadOptions.Length - 5, 5);

                Instance.SetComponentProperty("FastLoadOptions", fastLoadOptions.ToString());
                break;

            default:
                MessageEngine.Trace(Severity.Error, new NotImplementedException(), "Unknown Destination Load Type of {0}", _astDestination.AccessMode);
                break;
            }

            ProcessBindings(context);
            Flush();
        }
コード例 #4
0
        public override void Initialize(SsisEmitterContext context)
        {
            base.Initialize(context);
            TransformationUtility.RegisterOleDBConnection(context, _oleDBConnection, Component);

            Instance.SetComponentProperty("SqlCommand", _astSlowlyChangingDimensionNode.Query);
            Instance.SetComponentProperty("CurrentRowWhere", _astSlowlyChangingDimensionNode.CurrentRowWhere);
            Instance.SetComponentProperty("EnableInferredMember", _astSlowlyChangingDimensionNode.EnableInferredMember);
            Instance.SetComponentProperty("FailOnFixedAttributeChange", _astSlowlyChangingDimensionNode.FailOnFixedAttributeChange);
            Instance.SetComponentProperty("FailOnLookupFailure", _astSlowlyChangingDimensionNode.FailOnLookupFailure);
            Instance.SetComponentProperty("IncomingRowChangeType", _astSlowlyChangingDimensionNode.IncomingRowChangeType);
            Instance.SetComponentProperty("UpdateChangingAttributeHistory", _astSlowlyChangingDimensionNode.UpdateChangingAttributeHistory);

            string inferredMemberIndicatorName = String.Empty;

            if (_astSlowlyChangingDimensionNode.InferredMemberIndicator != null)
            {
                inferredMemberIndicatorName = _astSlowlyChangingDimensionNode.InferredMemberIndicator.Name;
            }

            Instance.SetComponentProperty("InferredMemberIndicator", inferredMemberIndicatorName);

            Flush();
        }
コード例 #5
0
ファイル: OLEDBSource.cs プロジェクト: mosamy/vulcan
 public override void Initialize(SsisEmitterContext context)
 {
     base.Initialize(context);
     TransformationUtility.RegisterOleDBConnection(context, _oleDBConnection, Component);
 }