如何通过BIML将SQL从SQL导入Excel

时间:2017-07-12 16:30:06

标签: sql excel biml

我想将列'Street'(NVARCHAR(50))从SQL表(Practice2.dbo.Adress)导入Excel(ExcelDestination.xls)。我知道如何在SSIS中执行此操作,但在BIML中,我似乎无法找到正确的代码,尤其是在源和目标之间进行列映射。当我尝试生成SSIS包时,我收到错误

  

“无法解析对'TableResource'类型的'地址'的引用。'TableName =”地址“'无效。请提供有效的范围名称。”

这是我到目前为止所做的:

tunnel=

1 个答案:

答案 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$表示实际工作表。

由于您未在源街和目标列之间提供列映射,因此我删除了标记。