SSIS BIML генерирует код SQL с помощью скобок

86
11

Im использует BIML для динамического создания пакетов загрузки для SSIS для загрузки данных из Informix на SQL Server. Проблема в том, что этот код BIML создает SQL ниже


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

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


Но это не работает в моей исходной базе данных из-за скобок. В любом случае я могу получить список столбцов и tablename без скобок динамически?

спросил(а) 2021-01-19T15:54:26+03:00 1 месяц, 1 неделя назад
1
Решение
74

Вы можете использовать перегруженный метод GetColumnList


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

который должен содержать имя столбца с двойными кавычками без псевдонима таблиц, что, по моему мнению, является тем, что ожидает Informix.

ответил(а) 2021-01-19T15:54:26+03:00 1 месяц, 1 неделя назад
43

Это работает как для имен столбцов, так и для имени таблицы:

                        <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>

ответил(а) 2021-01-19T15:54:26+03:00 1 месяц, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема