SSIS BIML 生成 SQL 带括号的代码
SSIS BIML generates SQL code with brackets
我正在使用 BIML 为 SSIS 动态创建加载包,以将数据从 Informix 加载到 SQL 服务器。问题是此 BIML 代码会生成下面的 SQL
<DirectInput>SELECT <#=table.GetColumnList()#> FROM <#=table.GetTag("SourceSchemaQualifiedName")#></DirectInput>
SELECT [column1], [column2], [column3], FROM [mySchema].[mySrcTable]
但是由于括号的原因,这在我的源数据库中不起作用。我可以通过任何方式动态获取不带括号的列列表和表名吗?
您应该可以使用 GetColumnList
的重载方法
<#=table.GetColumnList(string.Empty, "\"", "\"")#>
这应该产生一个双引号包裹的列名,没有 table 别名 - 我 认为 是 Informix 所期望的。
这适用于列名和 table 名称:
<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>
我正在使用 BIML 为 SSIS 动态创建加载包,以将数据从 Informix 加载到 SQL 服务器。问题是此 BIML 代码会生成下面的 SQL
<DirectInput>SELECT <#=table.GetColumnList()#> FROM <#=table.GetTag("SourceSchemaQualifiedName")#></DirectInput>
SELECT [column1], [column2], [column3], FROM [mySchema].[mySrcTable]
但是由于括号的原因,这在我的源数据库中不起作用。我可以通过任何方式动态获取不带括号的列列表和表名吗?
您应该可以使用 GetColumnList
的重载方法<#=table.GetColumnList(string.Empty, "\"", "\"")#>
这应该产生一个双引号包裹的列名,没有 table 别名 - 我 认为 是 Informix 所期望的。
这适用于列名和 table 名称:
<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>