我想将列'Street'(NVARCHAR(50))从SQL表(Practice2.dbo.Adress)导入Excel(ExcelDestination.xls)。我知道如何在SSIS中执行此操作,但在BIML中,我似乎无法找到正确的代码,尤其是在源和目标之间进行列映射。当我尝试生成SSIS包时,我收到错误
“无法解析对'TableResource'类型的'地址'的引用。'TableName =”地址“'无效。请提供有效的范围名称。”
这是我到目前为止所做的:
tunnel=
答案 0 :(得分:1)
我对您的ExcelDestination进行了一些小改动
<Package Name="so_45063165">
<Tasks>
<Dataflow Name="ImportIntoExcel">
<Transformations>
<OleDbSource Name="OLE_DB_Source" ConnectionName="ConnectionWithPractice2">
<DirectInput>SELECT N'123 Oak' AS Street;</DirectInput>
</OleDbSource>
<ExcelDestination Name="Excel_Destination" ConnectionName="Excel Connection Manager">
<ExternalTableOutput Table="Sheet1$" />
</ExcelDestination>
</Transformations>
</Dataflow>
</Tasks>
</Package>
TableOutput引用表的Biml集合。您正在寻找ExternalTableOutput
,它指示引擎查看引用的对象(在本例中为Excel)以验证它是否存在。标记中的更改会导致属性从TableName
更改为Table
,然后由于我们引用的是工作表而不是表格,因此我们需要使用$指定。 Sheet1
将是一个表或命名范围,而Sheet1$
表示实际工作表。
由于您未在源街和目标列之间提供列映射,因此我删除了标记。