2

我正在尝试使用kingswaysoft SSIS 连接器连接到 Salesforce。

我能够在数据集成项目中使用 Microsoft Visual Studio GUI 成功连接到 Salesforce,并从 Salesforce 中检索数据。因为我必须生成 100 多个 SSIS 包来处理,所以我尝试使用 BIML 编写,而 BIML 又会生成 SSIS 包。

我的 BIML 代码如下

<Biml xmlns="http://schemas.varigence.com/biml.xsd">
    <Connections>
      <CustomSsisConnection Name="Salesforce Connection Manager" CreationName="Salesforce (KingswaySoft)" ObjectData="&lt;SalesforceConnectionManager ConnectionString=&quot;InstanceType=Production;UserName=XXXXXXXXXXX;ServiceTimeout=250;ProxyMode=NoProxy;ProxyServer=;ProxyServerPort=0;ProxyUsername=;RetryOnIntermittentErrors=True&quot;&gt;&#xD;&#xA;  &lt;Password Sensitive=&quot;1&quot; xmlns=&quot;www.microsoft.com/SqlServer/Dts&quot; Encrypted=&quot;0&quot;&gt;XXXXXXXXX&lt;/Password&gt;&#xD;&#xA;  &lt;SecurityToken Sensitive=&quot;1&quot; xmlns=&quot;www.microsoft.com/SqlServer/Dts&quot; Encrypted=&quot;0&quot;&gt;XXXXXXXXXXXXXXXXXX&lt;/SecurityToken&gt;&#xD;&#xA;&lt;/SalesforceConnectionManager&gt;" />
    </Connections>
  <Packages>
    <Package Name="Package_1" Language="None" ProtectionLevel="EncryptSensitiveWithUserKey" SsisPackageType="5" VersionBuild="9" CreatorName="84336" CreatorComputerName="84336-WX-1" CreationDate="2018-07-03T15:40:13">
      <Variables>
        <Variable Name="recordsCount" DataType="Int32" IncludeInDebugDump="Include">0</Variable>
      </Variables>
      <Tasks>
        <Dataflow Name="Data Flow Task">
          <Transformations>
            <RowCount Name="Row Count" VariableName="User.recordsCount">
              <InputPath OutputPathName="Salesforce Source.Salesforce Source Output" />
            </RowCount>
            <CustomComponent Name="Salesforce Source" ComponentTypeName="KingswaySoft.IntegrationToolkit.Salesforce.SalesforceSourceComponent" ContactInfo="KingswaySoft Inc.; http://www.kingswaysoft.com; support@kingswaysoft.com; Copyright (c) 2011-2018 KingswaySoft Inc.">
              <DataflowOverrides>
                <OutputPath OutputPathName="Salesforce Source Output">
                <Columns>
                    <Column ErrorRowDisposition="FailComponent" TruncationRowDisposition="FailComponent" ColumnName="AccountNumber" />
                </Columns>
                </OutputPath>
              </DataflowOverrides>
              <CustomProperties>
                <CustomProperty Name="SourceType" DataType="Int32" TypeConverter="KingswaySoft.IntegrationToolkit.Salesforce.SalesforceSourceType" SupportsExpression="true" Description="Specifies the type of source data from Salesforce">0</CustomProperty>
                <CustomProperty Name="SourceObject" DataType="String" SupportsExpression="true" Description="Salesforce object to retrieve data from.">Account</CustomProperty>
                <CustomProperty Name="ObjectQuery" DataType="String" SupportsExpression="true" Description="Salesforce object query statement."></CustomProperty>
                <CustomProperty Name="BatchSize" DataType="Int32" SupportsExpression="true" Description="Specifies the batch size of the query.">1000</CustomProperty>
                <CustomProperty Name="IncludeDeletedArchived" DataType="Boolean" SupportsExpression="true" Description="Specifies whether deleted or archived records should be returned.">false</CustomProperty>
                <CustomProperty Name="UseBulkApi" DataType="Boolean" SupportsExpression="true" Description="Specify whether to use Salesforce Bulk API to read data.">false</CustomProperty>
                <CustomProperty Name="OutputTimezone" DataType="Int32" TypeConverter="KingswaySoft.IntegrationToolkit.Common.DescriptiveEnumTypeConverter`1[[KingswaySoft.IntegrationToolkit.Salesforce.SfdcSourceOutputTimezone, KingswaySoft.IntegrationToolkit.Salesforce, Version=1.0.2017.0, Culture=neutral, PublicKeyToken=705df8e0751bcea7]], KingswaySoft.IntegrationToolkit.Salesforce, Version=1.0.2017.0, Culture=neutral, PublicKeyToken=705df8e0751bcea7" SupportsExpression="true" Description="Specifies the output timezone for Salesforce datetime fields.">1</CustomProperty>
                <CustomProperty Name="PKChunkingHeader" DataType="String" SupportsExpression="true" Description="Specify the PK Chunking Header that helps with Bulk API data read performance."></CustomProperty>
              </CustomProperties>
              <OutputPaths>
                <OutputPath Name="Salesforce Source Output">
                  <OutputColumns>
                    <OutputColumn Name="AccountNumber" Length="40" DataType="String" ExternalMetadataColumnName="AccountNumber" ErrorOrTruncationOperation="Conversion" ErrorRowDisposition="FailComponent" TruncationRowDisposition="FailComponent" />
                  </OutputColumns>
                  <ExternalColumns>
                    <ExternalColumn Name="AccountNumber" Length="40" DataType="String" />
                  </ExternalColumns>
                </OutputPath>
              </OutputPaths>
              <Connections>
                <Connection Name="Salesforce" ConnectionName="Salesforce Connection Manager" />
              </Connections>
            </CustomComponent>
          </Transformations>
        </Dataflow>
      </Tasks>
      <Connections>
        <Connection ConnectionName="Salesforce Connection Manager" />
      </Connections>
    </Package>
  </Packages>
</Biml>

从 BIML 生成 SSIS 包后,我可以看到 Salesforce 连接(正确)在 BI 项目中创建。

在此处输入图像描述

并且生成的 SSIS 看起来是这样的包

在此处输入图像描述

当我双击 Salesforce Source 时,我收到一条警告,它是

在此处输入图像描述

请建议我在这里缺少什么。为什么 Salesforce 源没有通过 BIML 自动配置?

任何建议都非常感谢!

4

1 回答 1

4

我能够解决这个问题。我将以下属性添加到 CustomComponent

UsesDispositions="true"

现在错误已经消失,参考在这里

在此处输入图像描述

于 2018-07-04T14:09:32.510 回答