使用带有BID助手的BIML创建FuzzyLookup对象

时间:2014-01-31 15:30:21

标签: sql-server ssis biml

我正在尝试使用带有BID和Visual Studio 2008的BIML创建一个FuzzyLookup对象。

以下代码错误并且不会编译错误“无法解析对dbo.JuniorSurveyResponses的引用”。对象dbo.JuniorSurveyResponses存在,我拥有对它的正确权限。

如果我删除了FuzzyLookup,则编译剩余的代码而不会出错。此代码实际上来自https://www.varigence.com/Documentation/Samples/Biml/Fuzzy+Lookup

有关错误的任何想法?

<Biml xmlns="http://schemas.varigence.com/biml.xsd">
        <Connections>
         <OleDbConnection Name="SportsData" ConnectionString="Provider=SQLNCLI10;Server=myServer;Initial Catalog=myCatalog;Integrated Security=SSPI;" DelayValidation="true" />
        </Connections>
        <Packages>
            <Package Name="My Package" ConstraintMode="Linear">
                <Tasks>    
                    <Dataflow Name="My Dataflow Task">
                        <Transformations>
                            <OleDbSource Name="SurveyResponses" ConnectionName="SportsData">
                                <DirectInput>select * from SurveyResponses</DirectInput>
                            </OleDbSource>
                            <!-- Performs a fuzzy lookup on the Attribute column against the JuniorSurveyResponse DB, and outputs the corresponding Response column to NewResponse. -->
                            <FuzzyLookup Name="Fuzzy Lookup Transformation" ConnectionName="SportsData" Exhaustive="true" >
                                <ReferenceTableInput TableName="dbo.JuniorSurveyResponses" />
                                <Inputs>
                                    <Column SourceColumn="Attribute" TargetColumn="Attribute"  />
                                </Inputs>
                                <Outputs>
                                    <Column SourceColumn="Response" TargetColumn="NewReponse"  />
                                </Outputs>
                                <InputPath OutputPathName="SurveyResponses.Output" />
                            </FuzzyLookup>
                           <FlatFileDestination Name="OutputFile" ConnectionName="FlatFileConnection" Overwrite="true" />
                        </Transformations>
                    </Dataflow>
                </Tasks>
            </Package>
        </Packages>
        </Biml>

1 个答案:

答案 0 :(得分:4)

我认为varigence.com引用示例的问题在于它使用的是ReferenceTableInput。我相信这意味着它需要在您的项目中定义<Tables>集合以及所有这些好东西。

相反,我认为您正在寻找具有

语法的ExternalReferenceTableInput
<ExternalReferenceTableInput Table="dbo.JuniorSurveyResponses" />

使用它作为我的源,我得到了以下模糊查找。

enter image description here

如果不是模糊查找的外观,请告诉我。尽管我使用了大量的SSIS,但我从未使用过转换。

对于那些在家中跟随的人,我在源系统中创建了两个表

CREATE TABLE dbo.JuniorSurveyResponses
(
    Attribute varchar(50)
,   Response varchar(50)
);

CREATE TABLE dbo.SurveyResponses
(
    Attribute varchar(50)
,   Response varchar(50)
);