【发布时间】:2021-07-18 00:43:58
【问题描述】:
我正在尝试 BIML,这条路充满了反复试验。
我必须从固定长度的平面文件传输数据,并将我的文件和字段的元数据存储在两个 SQL Server 表中:SourceTable 和 SourceColumn。所以我尝试了以下方法来为我的字段生成元数据:
<Tables>
<# Dim dtTables as DataTable = ExternalDataAccess.GetDataTable(staging.ConnectionString, "SELECT TableName FROM SourceTable")
for each dr as datarow In dtTables.Rows#>
<Table Name="<#= dr.item(0)#>" SchemaName="myDatabase.mySchema">
<Columns>
<# Dim dtColumns as DataTable = ExternalDataAccess.GetDataTable(staging.ConnectionString,"SELECT ColumnName FROM SourceColumn WHERE TableName = '+<#=dr.item(0)#>+'")
for each drColumn as datarow in dtColumns.Rows#>
<Column Name="<#= drColumn.Item(0) #>"></Column>
<#next#>
</Columns>
</Table>
<#next#>
</Tables>
当然,BIML 不希望我在第二个查询中间连接<#=dr.item(0)#>(表名)。
有没有办法做到这一点?
谢谢!
西蒙。
【问题讨论】:
-
我意识到我的问题更多是关于将块嵌入另一个块中,这似乎是不可能的。不过,解决方法是什么?
标签: sql-server ssis biml