我使用BIML为SSIS动态创建加载包,以便将数据从Informix加载到SQL Server。问题是这个BIML代码生成下面的SQL
<DirectInput>SELECT <#=table.GetColumnList()#> FROM <#=table.GetTag("SourceSchemaQualifiedName")#></DirectInput>
SELECT [column1], [column2], [column3], FROM [mySchema].[mySrcTable]
但由于括号,我在源数据库中不起作用。任何方式我都可以得到列表和&amp; tablename没有括号动态?
答案 0 :(得分:2)
您应该可以使用GetColumnList
的重载方法<#=table.GetColumnList(string.Empty, "\"", "\"")#>
应该生成一个双引号包装的列名,没有表别名 - 我认为是Informix所期望的。
答案 1 :(得分: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>