我正在尝试使用带有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>
答案 0 :(得分:4)
我认为varigence.com引用示例的问题在于它使用的是ReferenceTableInput
。我相信这意味着它需要在您的项目中定义<Tables>
集合以及所有这些好东西。
相反,我认为您正在寻找具有
语法的ExternalReferenceTableInput
<ExternalReferenceTableInput Table="dbo.JuniorSurveyResponses" />
使用它作为我的源,我得到了以下模糊查找。
如果不是模糊查找的外观,请告诉我。尽管我使用了大量的SSIS,但我从未使用过转换。
对于那些在家中跟随的人,我在源系统中创建了两个表
CREATE TABLE dbo.JuniorSurveyResponses
(
Attribute varchar(50)
, Response varchar(50)
);
CREATE TABLE dbo.SurveyResponses
(
Attribute varchar(50)
, Response varchar(50)
);