3

我使用 BIML 为 SSIS 动态创建加载包,以将数据从 Informix 加载到 SQL Server。问题是这个BIML代码产生了下面的SQL

<DirectInput>SELECT <#=table.GetColumnList()#> FROM <#=table.GetTag("SourceSchemaQualifiedName")#></DirectInput>

SELECT [column1], [column2], [column3], FROM [mySchema].[mySrcTable]

但是由于括号,这在我的源数据库中不起作用。有什么方法可以动态获取不带括号的列列表和表名吗?

4

2 回答 2

2

您应该能够使用GetColumnList的重载方法

<#=table.GetColumnList(string.Empty, "\"", "\"")#>

这应该产生一个没有表别名的双引号包裹的列名——我认为这是 Informix 所期望的。

于 2018-02-13T19:45:31.873 回答
0

这适用于列名和表名:

                        <OdbcSource Name="Data from informix" Connection="Source_Informix">
                            <DirectInput>SELECT <#=table.GetColumnList(string.Empty, "", "")#> FROM schema.<#=table.Name#></DirectInput>
                        </OdbcSource>
                        <OleDbDestination Name="Data to MSSQL" ConnectionName="Target_MSSQL">
                            <TableOutput TableName="<#=table.ScopedName#>"/>
                        </OleDbDestination>
于 2018-02-14T07:30:43.997 回答